Александр Зимин — Оптимизация разработки

Preview:

Citation preview

Зимин Александр iOS Developer

Product Designer

Оптимизация разработки или

Мой личный опыт

План

Утилиты

План

Xcode

План

Библиотеки

Сегодня не будет

• Работа с графическими редакторами

• Обсуждение менеджеров пакетов

• Подходы к разработке

• Расширения для Xcode

Утилиты

Утилиты Reveal App

revealapp.com

Утилиты Reveal App

revealapp.com

Утилиты Pixel Perfect App

goo.gl/MbwW3g

Утилиты Pusher

github.com/noodlewerk/NWPusher

Утилиты Ojbective-C to Swift

objectivec2swift.com

Утилиты NSDateFormatter

nsdateformatter.com

Утилиты SimPholders

simpholders.com

Xcode

Xcode Поиск

• Filter

• Open Quickly

• Find Navigator

Xcode Поиск. Filter

Xcode Поиск. Open Quickly

Cmd (⌘) + Shift (⇧) + O

Xcode Поиск. Open Quickly

Cmd (⌘) + Shift (⇧) + O

Xcode Поиск. Find Navigator

Cmd (⌘) + Shift (⇧) + F

Xcode Шорткаты

• Показать файл в навигатореCmd (⌘) + Shift (⇧) + J

• Показать Jump Bar текущего файлаControl (⌃) + 6Начать писатьTODO/MARK

• ДокументацияCmd (⌘) + Shift (⇧) + 0 (Zero)

• Перемещение куска кода на строку выше/нижеCmd (⌘) + Option (⌥) + [ or ]

Xcode Шорткаты

• Закомментировать кусок кодаCmd (⌘) + /

• Задокументировать кусок кода (Xcode 8) Cmd (⌘) + Option (⌥) + /

• ПоискCmd (⌘) + F

• Быстрое перемещение по поиску (Xcode 8)Cmd (⌘) + G

• Быстрая замена имени (Xcode 8)Cmd (⌘) + Control (⌃) + E

Xcode Изменение объектов во время дебага

• e id $myView = (id)0x7f82b1d01fd0

• e (void)[$myView setBackgroundColor:[UIColor blueColor]]

goo.gl/Gr70m2

Библиотеки

Библиотеки Realm

realm.io

2014

Библиотеки Realm

realm.io

2014

Библиотеки Realm

realm.io

2014

Библиотеки Realm

realm.io

class Dog: Object { dynamic var name = "" dynamic var age = 0 }s

let dog = Dog() dog.name = "Rex" dog.age = 1

let realm = try! Realm() try! realm.write { realm.add(dog) }s

let pups = realm.objects(Dog.self).filter("age < 2")

Библиотеки Realm

goo.gl/gbu3t0

Библиотеки SwiftLint

github.com/realm/SwiftLint

Библиотеки SwiftLint

github.com/realm/SwiftLint

Библиотеки Laurine

github.com/JiriTrecak/Laurine

"MAIN_VIEW.TITLE" = "Hi"; "MAIN_VIEW.SUBTITLE" = "Welcome to room #%d";

titleLabel.text = NSLocalizedString("MAIN_VIEW.TITLE", comment: "Hi")

let subtitleString = NSLocalizedString("MAIN_VIEW.SUBTITLE", comment: "Welcome to room #%d") subtitleLabel.text = String(format: subtitleString, 21)

Библиотеки Laurine

github.com/JiriTrecak/Laurine

"MAIN_VIEW.TITLE" = "Hi"; "MAIN_VIEW.SUBTITLE" = "Welcome to room #%d";

titleLabel.text = Localizations.MainView.Title subtitleLabel.text = Localizations.MainView.Subtitle(value1: 21)

Библиотеки Laurine

github.com/JiriTrecak/Laurine

Библиотеки Laurine

github.com/JiriTrecak/Laurine

Библиотеки SwiftGen

github.com/AliSoftware/SwiftGen

• Enums for your:

• Assets Catalogs images

• Localizable.strings strings

• NS/UIStoryboards and their Scenes

• Colors

• Fonts

• https://github.com/SwiftyJSON/SwiftyJSON — Удобная работа с JSON в Swift

• https://github.com/facebook/pop/ — Альтернативный движок анимации от Facebook

• https://github.com/facebook/Tweaks — Изменение переменных в Debug окне

• https://github.com/vtourraine/VTAcknowledgementsViewController - Окно лицензии на библиотеки

Библиотеки Ссылки

Ссылки

goo.gl/xgvyGU

!!!

goo.gl/NwUXgP

Зимин Александр azimin@me.com

@ZiminAlex

Спасибо за внимание

Recommended