39
Зимин Александр iOS Developer Product Designer Оптимизация разработки или Мой личный опыт

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

Embed Size (px)

Citation preview

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

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

Product Designer

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

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

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

План

Утилиты

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

План

Xcode

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

План

Библиотеки

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

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

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

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

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

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

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

Утилиты

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

Утилиты Reveal App

revealapp.com

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

Утилиты Reveal App

revealapp.com

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

Утилиты Pixel Perfect App

goo.gl/MbwW3g

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

Утилиты Pusher

github.com/noodlewerk/NWPusher

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

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

objectivec2swift.com

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

Утилиты NSDateFormatter

nsdateformatter.com

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

Утилиты SimPholders

simpholders.com

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

Xcode

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

Xcode Поиск

• Filter

• Open Quickly

• Find Navigator

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

Xcode Поиск. Filter

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

Xcode Поиск. Open Quickly

Cmd (⌘) + Shift (⇧) + O

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

Xcode Поиск. Open Quickly

Cmd (⌘) + Shift (⇧) + O

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

Xcode Поиск. Find Navigator

Cmd (⌘) + Shift (⇧) + F

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

Xcode Шорткаты

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

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

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

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

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

Xcode Шорткаты

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

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

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

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

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

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

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

• e id $myView = (id)0x7f82b1d01fd0

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

goo.gl/Gr70m2

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

Библиотеки

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

Библиотеки Realm

realm.io

2014

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

Библиотеки Realm

realm.io

2014

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

Библиотеки Realm

realm.io

2014

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

Библиотеки 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")

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

Библиотеки Realm

goo.gl/gbu3t0

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

Библиотеки SwiftLint

github.com/realm/SwiftLint

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

Библиотеки SwiftLint

github.com/realm/SwiftLint

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

Библиотеки 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)

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

Библиотеки 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)

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

Библиотеки Laurine

github.com/JiriTrecak/Laurine

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

Библиотеки Laurine

github.com/JiriTrecak/Laurine

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

Библиотеки SwiftGen

github.com/AliSoftware/SwiftGen

• Enums for your:

• Assets Catalogs images

• Localizable.strings strings

• NS/UIStoryboards and their Scenes

• Colors

• Fonts

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

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

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

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

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

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

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

Ссылки

goo.gl/xgvyGU

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

!!!

goo.gl/NwUXgP

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

Зимин Александр [email protected]

@ZiminAlex

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