SlideShare a Scribd company logo
"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Мария Халусова, JetBrains
Мария Халусова
Инструментарий
разработчика iOS: Xcode,
AppCode и сторонние
инструменты
JetBrains
Инструментарий iOS
разработчика
Сторонние инструменты и AppCode
Мария Халусова
@mariakhalusova
Инструменты
Инструменты
• Язык
Инструменты
• Язык
• Тестовые фреймворки, менеджеры зависимостей, инструменты
отладки, и т.д.
Инструменты
• Язык
• Тестовые фреймворки, менеджеры зависимостей, инструменты
отладки, и т.д.
• IDE
Язык
Язык
• Objective-C
Язык
• Objective-C
• Ruby (RubyMotion)
Язык
• Objective-C
• Ruby (RubyMotion)
• C# (Xamarin)
Язык
• Objective-C
• Ruby (RubyMotion)
• C# (Xamarin)
• HTML5, JavaScript, ... = web
Ruby
Temple Jukely Inktera
C#
Web
Web apps are the best way to reach the most possible people with
the least effort; native apps are the best way to create the best
possible experience.
John Gruber, daringfireball.net
Native: Objective-C
И все?
Сторонние инструменты
Сторонние инструменты
• Тестовые фреймворки
Сторонние инструменты
• Тестовые фреймворки
• Инструменты документации
Сторонние инструменты
• Тестовые фреймворки
• Инструменты документации
• Менеджер зависимостей
Сторонние инструменты
• Тестовые фреймворки
• Инструменты документации
• Менеджер зависимостей
• Инструменты диагностики
Сторонние инструменты
• Тестовые фреймворки
• Инструменты документации
• Менеджер зависимостей
• Инструменты диагностики
• И т.д.
Тестовые фреймворки
Тестовые фреймворки
Тестовые фреймворки
• Kiwi
Тестовые фреймворки
• Kiwi
• Specta, Cedar
Тестовые фреймворки
• Kiwi
• Specta, Cedar
• KIF
Тестовые фреймворки
• Kiwi
• Specta, Cedar
• KIF
• Calabash, Frank
Тестовые фреймворки
• Kiwi
• Specta, Cedar
• KIF
• Calabash, Frank
• Zucchini
Тестовые фреймворки
• Kiwi
• Specta, Cedar
• KIF
• Calabash, Frank
• Zucchini
• ...
Документация
Документация
• Dash
Документация
• Dash
• appledoc
Документация
• Dash
• appledoc
• doxygen
Менеджер зависимостей
• CocoaPods
Диагностика
Диагностика
• Cocoa Lumberjack
Диагностика
• Cocoa Lumberjack
• DCIntrospector
Диагностика
• Cocoa Lumberjack
• DCIntrospector
• PonyDebugger
Диагностика
• Cocoa Lumberjack
• DCIntrospector
• PonyDebugger
• SimPholders
Диагностика
• Cocoa Lumberjack
• DCIntrospector
• PonyDebugger
• SimPholders
• Spark Inspector, Reveal
Диагностика
• Cocoa Lumberjack
• DCIntrospector
• PonyDebugger
• SimPholders
• Spark Inspector, Reveal
• ...
Диагностика: Reveal
Прочее
Прочее
• Рисовалки макетов дизайна: Mocks, Briefs,Acorn, Sketch, ...
Прочее
• Рисовалки макетов дизайна: Mocks, Briefs,Acorn, Sketch, ...
• Core Data: Mogenerator, Base, Core Data Editor
Прочее
• Рисовалки макетов дизайна: Mocks, Briefs,Acorn, Sketch, ...
• Core Data: Mogenerator, Base, Core Data Editor
• Deployment: Deploymate, Cupertino, Hockey App,TestFlight, Crashlytics
Альтернативная IDE - AppCode:
зачем?
Альтернативная IDE - AppCode:
зачем?
• Работа с кодом
Альтернативная IDE - AppCode:
зачем?
• Работа с кодом
• Богатый опыт создания
инструментов разработчика: IntelliJ
IDEA, ReSharper, ...
Альтернативная IDE - AppCode:
зачем?
• Работа с кодом
• Богатый опыт создания
инструментов разработчика: IntelliJ
IDEA, ReSharper, ...
• Ранние версии Xcode
Почему не плагин к Xcode?
Почему не плагин к Xcode?
• Готовая платформа IntelliJ
Почему не плагин к Xcode?
• Готовая платформа IntelliJ
• Официально плагины к Xcode никак не поддерживаются
Xcode 3.2.6
В чем разница?
В чем разница?
• Работа с кодом: редактирование, генерация, навигация, рефакторинги
В чем разница?
• Работа с кодом: редактирование, генерация, навигация, рефакторинги
• Интеграция с популярными инструментами и фреймворками: Kiwi, Dash, CocoaPods (v2.5)
В чем разница?
• Работа с кодом: редактирование, генерация, навигация, рефакторинги
• Интеграция с популярными инструментами и фреймворками: Kiwi, Dash, CocoaPods (v2.5)
• Интеграция с системами контроля версий, баг-трекерами, и т.д.
В чем разница?
• Работа с кодом: редактирование, генерация, навигация, рефакторинги
• Интеграция с популярными инструментами и фреймворками: Kiwi, Dash, CocoaPods (v2.5)
• Интеграция с системами контроля версий, баг-трекерами, и т.д.
• Поддерживает плагины
Demo
Интеграция с Xcode
• Самая актуальная версия Xcode
• Та же проектная модель
Интеграция с Xcode
Интеграция с Xcode
• xcodebuild
Интеграция с Xcode
• xcodebuild
• Simulator, Device
Интеграция с Xcode
• xcodebuild
• Simulator, Device
• Debugger: GDB, LLDB
Интеграция с Xcode
• xcodebuild
• Simulator, Device
• Debugger: GDB, LLDB
• Instruments
Интеграция с Xcode
• xcodebuild
• Simulator, Device
• Debugger: GDB, LLDB
• Instruments
• Clang
Интеграция с Xcode
• xcodebuild
• Simulator, Device
• Debugger: GDB, LLDB
• Instruments
• Clang
• Project Settings
Интеграция с Xcode
• xcodebuild
• Simulator, Device
• Debugger: GDB, LLDB
• Instruments
• Clang
• Project Settings
• Системные утилиты Xcode
Interface Builder
Interface Builder
• Интеграции нет, потому что:
Interface Builder
• Интеграции нет, потому что:
• Interface Builder достаточно хорош
Interface Builder
• Интеграции нет, потому что:
• Interface Builder достаточно хорош
• Инженерная сложность
Сложности
Сложности
• Обновления Xcode, Simulator
Сложности
• Обновления Xcode, Simulator
• LLDB
Сложности
• Обновления Xcode, Simulator
• LLDB
• Версия
Сложности
• Обновления Xcode, Simulator
• LLDB
• Версия
• Evaluate expression
Сложности
• Обновления Xcode, Simulator
• LLDB
• Версия
• Evaluate expression
• Обратная связь с Apple
Развитие интеграции с Xcode
Развитие интеграции с Xcode
• Работа с проектными настройками
Развитие интеграции с Xcode
• Работа с проектными настройками
• C++
Развитие интеграции с Xcode
• Работа с проектными настройками
• C++
• ? Core Data
Развитие интеграции с Xcode
• Работа с проектными настройками
• C++
• ? Core Data
• ? IB
Планы на будущее
Планы на будущее
• Интеграция с полезными инструментами
Планы на будущее
• Интеграция с полезными инструментами
• Постепенный “уход” от Xcode
Планы на будущее
• Интеграция с полезными инструментами
• Постепенный “уход” от Xcode
• Работа с кодом: нет предела совершенству
Спасибо за внимание!

More Related Content

PPTX
Ruby - или зачем мне еще один язык программирования?
PDF
Пластилиновый код: как перестать кодить и начать жить
PDF
Почему Mojolicious?
PPTX
Опыт эксплуатации большого проекта на Ruby
ODP
Top10 доводов против языка Ruby
PDF
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
PDF
TypeScript: особенности разработки / Александр Майоров (Tutu.ru)
PDF
Component Inspector
Ruby - или зачем мне еще один язык программирования?
Пластилиновый код: как перестать кодить и начать жить
Почему Mojolicious?
Опыт эксплуатации большого проекта на Ruby
Top10 доводов против языка Ruby
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
TypeScript: особенности разработки / Александр Майоров (Tutu.ru)
Component Inspector

What's hot (20)

PPT
Groovy On Grails
PDF
Как перестать отлаживать асинхронный код и начать жить / Андрей Саломатин (Pr...
ODP
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
PDF
Парсим CSS
ODP
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
PDF
Блоки, лямбды, замыкания
PDF
Контроль качества верстки или как начать делать Makeup
PDF
Очередной скучный доклад про логгирование
PDF
Чуть сложнее чем Singleton: аннотации, IOC, АОП
PPT
Perl in practice
PDF
Groovy presentation.
PDF
Командная разработка “толстых клиентов”
PPTX
C++ CoreHard Autumn 2018. Метаклассы: воплощаем мечты в реальность - Сергей С...
PDF
Павел Довгалюк, Обратная отладка
PDF
DUMP-2015: «Распределенная обработка миллионов документов на Scala и Akka» Ст...
PPTX
Введение в Akka
PDF
Scala: что, как и зачем?
PDF
Работа с Akka Сluster, @afiskon, scalaby#14
PPTX
Scala для всех (РИФ 2015)
Groovy On Grails
Как перестать отлаживать асинхронный код и начать жить / Андрей Саломатин (Pr...
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Парсим CSS
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
Блоки, лямбды, замыкания
Контроль качества верстки или как начать делать Makeup
Очередной скучный доклад про логгирование
Чуть сложнее чем Singleton: аннотации, IOC, АОП
Perl in practice
Groovy presentation.
Командная разработка “толстых клиентов”
C++ CoreHard Autumn 2018. Метаклассы: воплощаем мечты в реальность - Сергей С...
Павел Довгалюк, Обратная отладка
DUMP-2015: «Распределенная обработка миллионов документов на Scala и Akka» Ст...
Введение в Akka
Scala: что, как и зачем?
Работа с Akka Сluster, @afiskon, scalaby#14
Scala для всех (РИФ 2015)
Ad

Similar to "Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Мария Халусова, JetBrains (20)

KEY
KEY
PDF
Marmalade
DOC
Обзор Технологий iOS
PDF
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
PDF
Юрий Василевский "Автоматизация в XCode"
PDF
Юрий Василевский «Автоматизация в XCode»
PPTX
новые технологии при разработке нативного I os приложения в рамках проекта ст...
PDF
01 - Системные требования
PDF
Ios workshop-fs
PDF
Lecture1
PDF
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
PDF
Разработка мобильных приложений под iOS
PPT
Кратко о Mac OS X
PDF
Lviv MDDay 2014. Андріан Буданцов “Внутрішній світ iOS додатків”
PDF
Objective J
PPTX
PDF
Lecture1
PDF
Lecture1
PDF
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Marmalade
Обзор Технологий iOS
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский «Автоматизация в XCode»
новые технологии при разработке нативного I os приложения в рамках проекта ст...
01 - Системные требования
Ios workshop-fs
Lecture1
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Разработка мобильных приложений под iOS
Кратко о Mac OS X
Lviv MDDay 2014. Андріан Буданцов “Внутрішній світ iOS додатків”
Objective J
Lecture1
Lecture1
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Ad

More from Yandex (20)

PDF
Предсказание оттока игроков из World of Tanks
PDF
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
PDF
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
PDF
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
PDF
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
PDF
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
PDF
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
PDF
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
PDF
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
PDF
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
PDF
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
PDF
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
PDF
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
PDF
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
PDF
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
PDF
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
PDF
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
PDF
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
PDF
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
PDF
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Предсказание оттока игроков из World of Tanks
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...

"Инструментарий разработчика iOS: Xcode, AppCode и сторонние инструменты". Мария Халусова, JetBrains