Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Опционалы в Swift

Время на прочтение22 мин
Количество просмотров87K

Несмотря на некоторый опыт в мобильной разработке (в том числе с применением Swift), регулярно на почве свифтовых опционалов возникали ситуации, когда я знал что нужно делать, но не совсем внятно представлял, почему именно так. Приходилось отвлекаться и углубляться в документацию — количество "заметок на полях" пополнялось с удручающей периодичностью. В определенный момент они достигли критической массы, и я решил упорядочить их в едином исчерпывающем руководстве. Материал получился довольно объемным, поскольку предпринята попытка раскрыть тему максимально подробно. Статья будет полезна как начинающим Swift-разработчикам, так и матерым профессионалам из мира Objective-C — есть ненулевая вероятность, что и последние найдут для себя что-то новое. А если не найдут, то добавят свое новое в комментарии, и всем будет польза.

Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии4

API на Swift за пять минут. Лекция в Яндексе

Время на прочтение7 мин
Количество просмотров29K
Есть мнение, что Swift — особенно благодаря развитию в опенсорсе — уже сейчас применим за рамками софта для платформ Apple. Наши коллеги из «Рамблера», включая разработчика Самвела Меджлумяна, даже пробуют этот язык в качестве серверного решения. На встрече сообщества CocoaHeads Самвел перечислил готовые продукты для построения сервера на Swift, сравнил их между собой и показал короткое демо.


Всего голосов 43: ↑39 и ↓4+35
Комментарии5

Туториал: создаём простое приложение для watchOS 4

Время на прочтение24 мин
Количество просмотров8.6K
image

В этом туториале мы создадим простое, но полнофункциональное приложение под watchOS 4. А конкретнее, мы будем работать над приложением придуманной авиакомпании Air Aber для Apple Watch.

Из этого туториала вы узнаете:

  • Как добавлять целевую сборку watchOS 4 в приложение iOS.
  • Как обмениваться данными между двумя целевыми сборками.
  • Как добавить в Storyboard контроллер интерфейса watchOS и расположить объекты интерфейса.
  • Как создать подкласс WKInterfaceController и соединить всё вместе.
  • Как добавить новый контроллер интерфейса, добавить к нему таблицу и создать прототип из строк.
  • Как создать подкласс класса WKInterfaceController, чтобы заполнить таблицу, настроить строки и обрабатывать выбор.
  • Как сделать контроллер интерфейса модальным и передавать ему данные для отображения.
  • Как создавать анимации на основе изображений.
  • Как использовать API анимации watchOS 4.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии1

Работа с сервером с помощью Alamofire на Swift

Время на прочтение13 мин
Количество просмотров60K


Сразу хочу сказать, данная статья предназначена прежде всего для новичков. Здесь не будет best practice, создание сервисов, репозиториев и прочей оптимизации кода. Расскажу про основы работы с запросами и покажу применение на примерах.


Содержание


Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии11

Тестируем возможности ARKit. Создаем игру с дополненной реальностью

Время на прочтение9 мин
Количество просмотров38K

image


На WWDC 2017 Apple анонсировала ARKit — SDK для работы с дополненной реальностью. Благодаря ему порог вхождения в эту технологию стал значительно ниже. Можно ожидать появления большого количества качественных игр и приложений.

Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии4

Эффективная DI библиотека на Swift в 200 строк кода

Время на прочтение7 мин
Количество просмотров10K
Библиотека EasyDi содержит контейнер зависимостей для Swift. Синтаксис этой библиотеки был специально разработан для быстрого освоения и эффективного использования. Она умещается в 200 строк, при этом умеет все, что нужно взрослой Di библиотеке:

— Создание объектов и внедрение зависимостей в существующие
— Разделение на контейнеры — Assemblies
— Типы разрешения зависимостей: граф объектов, синглетон, прототип
— Разрешение циклических зависимостей
— Подмена объектов и конктесты зависимостей для тестов

В EasyDi нет разделения на register/resolve. Вместо этого зависимости описываются вот так:

var apiClient: IAPIClient {
  return define(init: APIClient()) {
    $0.baseURl = self.baseURL
  }
}

Cocoapods / EasyDi
Github / EasyDi

Под катом очень краткое описание «Зачем DI и что это», также примеры использования библиотеки:

  • Как использовать и типы зависимостей
  • Как тестировать c подменой объектов
  • Как можно это использовать для A/B тестов
  • Как собрать VIPER-модуль
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии7

Moya — как перестать беспокоиться о сетевой части и начать жить

Время на прочтение5 мин
Количество просмотров26K
Хай! Вам знакомо то чувство уныния, когда нужно интегрировать проект с очередным RESTful API? Это когда в очередной раз нужно создавать какой-нибудь APIManager и наполнять его Alamofire запросами, а потом связывать их с моделями маппинга данных. Лично я стараюсь максимально оптимизировать всю свою работу, поэтому регулярно изучаю различные библиотеки чтобы не писать кучу повторяющегося кода и избавиться от рутины. В один из таких заходов я наткнулся на отличную библиотеку Moya, о которой и пойдёт речь.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии10

Тестирование и обзор Core ML

Время на прочтение5 мин
Количество просмотров23K

На WWDC’17 Apple представила новый фреймворк для работы с технологиями машинного обучения Core ML. На основе него в iOS реализованы собственные продукты Apple: Siri, Camera и QuickType. Core ML позволяет упростить интеграцию машинного обучения в приложения и создавать различные «умные» функции с помощью пары строчек кода.


image

Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии2

7 ключевых трендов веб-дизайна на 2015 год

Время на прочтение5 мин
Количество просмотров89K
Оглядываясь на 2014, можно отметить некоторые впечатляющие тенденции, появившиеся в веб-дизайне: платформы для проектирования «без кода», параллакс, одностраничные веб-сайты и многое другое.

Хотя многие тенденции в дизайне мимолетны, некоторые из них являются естественной эволюцией данной отрасли. Растущий диапазон устройств, на которых мы просматривать веб-сайты, обязывает разработчиков постоянно адаптировать свою технологию для удовлетворения динамических изменений, которые происходят в веб-дизайне.

Чтобы узнать, какие тенденции будут процветать в течение следующего года, я обратился к членам проектной команды Webydo, разработчикам веб-дизайн платформы, чтобы они рассказали, какими будут по их мнению топ 7 главных трендов в веб-дизайне на 2015 год.
Читать дальше →
Всего голосов 38: ↑30 и ↓8+22
Комментарии38

Фриланс на Кипре

Время на прочтение6 мин
Количество просмотров125K
В дополнение к статье хабраюзера dudeonthehorse «Фриланс в Турции» опишу особенности этого вида труда для Кипра, точнее его южной части. Я не буду рассказывать про местные достопримечательности, а постараюсь дать сведения, полезные для людей, ставших на нелегкий путь свободных наемников.


Читать дальше →
Всего голосов 89: ↑85 и ↓4+81
Комментарии127

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность