Апрель 14

AppCode 2017.1: улучшенная поддержка Swift, новые возможности кодогенерации и многое другое

Привет, Хабр! Недавно мы выпустили AppCode 2017.1, сейчас готовим первое обновление — пора рассказать обо всех изменениях в этой версии.

Читать дальше →

Раздел: Без рубрики | Комментарии к записи AppCode 2017.1: улучшенная поддержка Swift, новые возможности кодогенерации и многое другое отключены
Апрель 13

Реализация кастомного UI-элемента для выбора времени. Часть 2

В первой части статьи я подробно воссоздал процесс реализации циферблата. Теперь мы подошли к самому интересному и сложному этапу создания собственного кастомного контрола.
Читать дальше →

Раздел: Без рубрики | Комментарии к записи Реализация кастомного UI-элемента для выбора времени. Часть 2 отключены
Апрель 13

Реализация кастомного UI-элемента для выбора времени. Часть 1

17 ноября в Москве в рамках Международной конференции мобильных разработчиков MBLTdev Александр Зимин выступил с докладом на тему «Визуализируем за рамками стандартных компонентов UIKit». В первую очередь, этот доклад заинтересует iOS-разработчиков, которые хотят узнать больше о разработке кастомных UI-элементов. Меня он заинтересовал примером кастомного контрола, который я решил реализовать и доработать с учетом тезисов, озвученных в докладе. Пример был реализован на Swift, я реализую его на Objective-C.
Читать дальше →

Раздел: Без рубрики | Комментарии к записи Реализация кастомного UI-элемента для выбора времени. Часть 1 отключены
Апрель 13

Стэнфордские курсы CS193P Зима 2017: Разработка iOS 10 приложений с помощью Swift

Стэнфордский университет, США — один из лучших в мире в области информатики (Computer Science). Он щедро делится своими курсами, и одним из самых популярных и успешных курсов является курс CS193P по разработке приложений на iOS, который читает профессор Пол Хэгерти. Это курс читается ежегодно, начиная с 2010 года. На данный момент актуальным является курс CS193P «Developing iOS 10 Apps with Swift», Зима 2017 года — «Разработка iOS 10 приложений с использованием Swift», и на момент написания статьи уже выложены почти все Лекции (15 из 18) и почти все Задания (5 из 6) на iTunes U (но можно смотреть и на Youtube).
В новом курсе отчетливо видно, что профессор сделал небольшой разворот всего курса от ОБЪЕКТНО-ОРИЕНТИРОВАННОГО программирования, к ФУНКЦИОНАЛЬНОМУ программированию с множеством неизменяемых объектов с APIs похожими на математические функции.
Конечно, iOS вовсе не была сконструирована на основе идеи функционального программирования. Но люди, которые изобретали Swift, держали “в голове” идею о функциональном программировании. Так что при разработке вашего iOS приложения (по крайней мере в части Модели) вы можете использовать множество элементов функционального программирования.

Это новый рубеж в iOS программировании, потому что в течение 10 лет люди, в основном, использовали в iOS программировании только reference type объекты, имея в виду концепцию объектно-ориентированного программирования. Но когда вы программируете на Swift с помощью структур structs и перечислений enums, и особенно если вы подключаете механизмы протоколов protocols и Generics, то вы можете реально сделать прекрасную работу, имеющую дело с реальным функциональным программированием.
Читать дальше →

Раздел: Без рубрики | Комментарии к записи Стэнфордские курсы CS193P Зима 2017: Разработка iOS 10 приложений с помощью Swift отключены
Апрель 13

Безопасность OAuth в эпоху мобильных приложений, или о чем молчит интернет

image

«В API ВКонтакте для получения ключа доступа используется открытый протокол OAuth 2.0. При этом пользователь не передает логин и пароль приложению, поэтому его аккаунт не может быть скомпрометирован»документация VK API.

«ОАuth — это открытый протокол, предоставляющий простой и безопасный способ авторизации для мобильных, десктопных и веб приложений» — вольный перевод слогана oauth.net.

К сожалению, во многих случаях эти утверждения являются ложными. О том как сделать работу через OAuth более безопасной, как с точки зрения конечного пользователя, так и при реализации собственного OAuth провайдера — читайте под катом. Будут рассмотрены такие аспекты безопасности, которым на текущий момент уделено незаслуженно мало внимания в открытых публикациях.

Материал насыщен специфической терминологией и рассчитан на подготовленного читателя.
Читать дальше →

Раздел: Информационная безопасность | Комментарии к записи Безопасность OAuth в эпоху мобильных приложений, или о чем молчит интернет отключены
Апрель 11

Когда GitHub выстреливает вам в голову, создается новый фреймворк. Идея, концепция и реализация «Rutetider»

Привет, Хабрахабр! Готовое архитектурное решение для мобильных устройств, включая iOS, Android, Telegram-bots, а также платформы, поддерживающие обработку http-запросов, выступающее в роли пет-проекта автора статьи, будет интересно желающим реализовать «карманное» расписание занятий для своих университетов и школ.

Содержание публикации:

  • Что предшествовало созданию фреймворка.
  • Проблемы программистов, которые решаются с «Rutetider».
  • Детали архитектурной структуры инструмента.
  • О компонентах, являющихся основным каркасом, и модулях, улучшающих разработку, а также разнообразные примеры.

Читать дальше →

Раздел: Без рубрики | Комментарии к записи Когда GitHub выстреливает вам в голову, создается новый фреймворк. Идея, концепция и реализация «Rutetider» отключены
Апрель 11

Упрощаем работу с CloudKit, или синхронизация в духе Zen

Введение

Облачная синхронизация — закономерный тренд нескольких последних лет. Если вы разрабатываете под одну или несколько Apple платформ (iOS, macOS, tvOS, watchOS) и задачей является реализация функционала синхронизации между приложениями, то в вашем распоряжении есть очень удобный инструмент, или даже целый сервис — CloudKit.

Нашей команде постоянно приходится прикручивать функционал синхронизации данных с CloudKit, в том числе в проектах, которые используют CoreData в качестве хранилища данных. Поэтому возникла, а затем была реализована идея — написать универсальный интерфейс для синхронизации.

CloudKit — это не просто фреймворк. Это полноценный BaaS (Backend as a Service), т.е. комплексный сервис с полноценной инфраструктурой, включающей в себя облачное хранилище, пуш-уведомления, политики доступа и многое другое, а также предлагающий универсальный кросс-платформенный программный интерфейс (API).

Читать дальше →

Раздел: Без рубрики | Комментарии к записи Упрощаем работу с CloudKit, или синхронизация в духе Zen отключены
Апрель 11

Как подружиться с Realm

В этой статье мы хотели бы поделиться опытом использования набирающей популярность библиотеки для хранения данных — Realm. Перед любым проектом вначале разработки встает вопрос что использовать для хранения данных — что-то проверенное или попробовать инструменты из разряда для хипстеров.

image

Мы — небольшой стартап, разрабатывающий детский лаунчер. Хотя мы стартап и у нас небольшая команда, но большое внимание мы уделяем качеству кода. За два года разработки довольно сильно менялись требования, функционал и выбранные нами технологии. Вплоть до того, что мы перешли с полностью нативного приложения на гибридное, на основе Cordova. Также, одним из этих изменений стал переход с BaaS от Facebook’а Parse на Realm. В этой статье мы хотим рассказать о проблемах, с которыми мы столкнулись при переходе на Realm и стоит ли пробовать новые библиотеки, если со старыми уже "подружились".

Читать дальше →

Раздел: Без рубрики | Комментарии к записи Как подружиться с Realm отключены
Апрель 10

Продвижение. Создавая банк будущего

Если совершить краткий экскурс в мир разработки, то очевидно, что идея платформенных решений витала в воздухе давно. Это особенно заметно в энтерпрайз разработке: ещё в начале 2000-х платформами увлеклись SAP, Siebel, Salesforce, затем удачно и не очень к ним примкнули отечественные системы. Действительно, платформа как таковая даёт очевидные преимущества: разработчики и владелец основного продукта разделяют риски, стоимость новой функциональности падает на фоне роста цены приложения. Узнать подробности и принять участие

Раздел: Без рубрики | Комментарии к записи Продвижение. Создавая банк будущего отключены
Апрель 10

Kotlin + Rx2: Реактивный и функциональный подход к разработке мобильных приложений

Количество технологий, библиотек увеличивается с каждым днем, и зачастую можно потеряться в выборе стека технологий и архитектуры для старта или развития вашего мобильного проекта. Минимизировать риски однозначно можно, один из вариантов — это прислушаться к мнению специалистов по Android-разработке.

Именно поэтому мы обратились к Денису nekdenis Неклюдову (Android GDE) и Степану stepango Гончарову, Android-разработчикам в 90Seconds.com. В интервью будут затронуты несколько важных тем, от архитектуры мобильного приложения  до применения библиотек Rx в проектах. Итак, начнем…

Читать дальше →

Раздел: Без рубрики | Комментарии к записи Kotlin + Rx2: Реактивный и функциональный подход к разработке мобильных приложений отключены