Привет!
Совсем недавно вышел AppCode 2016.3, и в этом посте мы расскажем о самых интересных изменениях в нем.
Привет!
Совсем недавно вышел AppCode 2016.3, и в этом посте мы расскажем о самых интересных изменениях в нем.
Если вы пишете приложение мобильного банка для iOS, какие у вас приоритеты? Думаю, их два:
Ситуация такова, что нужно уметь вносить изменения (и в частности выкатывать новые банковские продукты) действительно быстро. Но при этом не скатываться в индусокод и копипаст (см. пункт 1). Всё это при том, что приложение действительно огромное по функционалу, по крайней мере в задумке (банки хотят намного больше, чем умеют). Соответственно, во многих случаях это проекты на десятки человеко-лет. Те, кто участвовал в таких проектах, уже наверно поняли, что задача нетривиальная, и школьные знания тут не помогут.Читать полностью »
Статья о том как починить инкрементальную компиляцию в Xcode для Swift проектов и ускорить build phases для Cocoapods и Carthage, ничего не поломав.
Небольшой спойлер: на трех разных проектах получилось сократить время инкрементальной сборки в 9 раз!
Туториал несет сугубо практический характер с минимумом воды. Обязательно к прочтению для действующих iOS разработчиков.
Интерфейс мобильного приложения — это лицо продукта. Чем более отзывчив интерфейс, тем больше радости приносит продукт. Однако удовлетворённость от использования приложения зависит прежде всего от объёма его функций. По мере увеличения количества и сложности задач они требуют всё больше и больше времени. Если архитектура приложения предполагает, что все они выполняются в главном потоке, то задачи бизнес-логики начинают конкурировать за время с задачами отрисовки интерфейса. При таком подходе рано или поздно обязательно находится сценарий, исполнение которого приводит к залипанию приложения. Для борьбы с этой напастью существует три принципиально разных подхода:
Паттерн SchedulableObject позволяет аккуратно реализовать третий сценарий. Под катом рассматриваются его части с примерами реализации на Swift, а также преимущества и недостатки по сравнению с первыми двумя подходами.
Читать полностью »
Продолжение исследования способов ускорить компиляцию Swift.
Издевательство над семантическим анализатором и неожиданные настройки проекта.
Ссылка на первую часть для тех, кто пропустил.
Правда ли, что Vapor на самом деле такой быстрый и безопасный, как говорят его авторы? Сегодня мы посмотрим на скорость работы Swift в серверной части вашего приложения в сравнении с Ruby, PHP, JS, Python, Java, C#, Go!
Обзор Swift 3 компилятора и способы его ускорить. Часть 1.
Развенчание существующих мифов. Мнение о проблемах autocompletion в Xcode.
Я как iOS разработчик всегда хотел получить возможность окунуться в мир бэкенда, не прибегая к изучению других языков. Теперь благодаря Vapor мои мечты сбылись и каждый желающий имеет возможность использовать один язык на сервере и клиенте.
Уже известно, что Xcode 8.2
будет последним релизом, который поддерживает переходную версию Swift 2.3
. Поэтому нужно срочно подумать о миграции на Swift 3
.
Я хочу поделиться некоторым опытом такой миграции на примере приложений, связанных со стэнфордским курсом «Developing iOS 9 Apps with Swift», как демонстрационных (их 12), так и полученных в результате выполнения Заданий этого обучающего курса (их 6 с вариантами). Они все разной сложности, но там есть и рисование, и многопоточность, и показ изображений с помощью ScrollView
, и работа с сервером Twitter, и база данных Core Data, и работа с облачным сервисом Cloud Kit, и карты Map Kit. И все это было написано на Swift 2.2
(stanford.edu), а мне было необходимо перевести все приложения на Swift 3
. Конспект лекций стэнфордского курса на русском языке можно найти на сайте «О стэнфордских лекциях», а код — для Swift 2.3 на Github и для Swift 3 на Github.
Читать полностью »
Основная проблема, с которой сталкивается программист при реализации какого-то управляющего элемента — выстраивание правильной логики работы этого элемента.
Читать полностью »