#Mbltdev 2014 Глазами Простого Ios-Разработчика Из Тинькофф Банка

Москва • 28 октября, 2014 • Digital October Хоть и с опозданием, но решил поделиться с вами впечатлениями от посещения #MBLTDev 2014. Отличная конференция, надеюсь, мои заметки кому-нибудь пригодятся.



#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

1. Мы с коллегой немного опоздали на конференцию из-за пробок.

Минут 10 Тим Мессержмидт (PayPal) томился в ожидании нас, но как только мы появились в зале, Тим сразу сделал вид, что матч уже давно начался, а зрители подыгрывают ему.



#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Тим говорил об аутентификации.

Он предоставил статистические данные, по всей видимости, основанные на паролях к учетным записям PayPal. Оказывается, 91% пользователей указывают в качестве пароля слово из топ-1000 популярных паролей.

Забавный факт, конечно, но к нашей системе авторизации он пока не имеет никакого отношения.

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

Он призвал общественность сказать: «пароль — отстой» и посоветовал всем использовать OAuth и регистрацию — «если только вам это действительно не нужно».

Эта речь еще раз напомнила мне, что пользователь скорее похож на ленивого ленивца, которого не стоит лишний раз напрягать, и чтобы узнать его имя, лучше погадать по звездам.

В целом: я думаю, было бы очень здорово дать пользователю возможность авторизоваться через социальные сети (больше информации для нас, меньше головной боли для него).

А также показывать символы пароля при авторизации в мобильном банке, ведь чаще всего пользователь заходит в систему один.

Презентация: www.slideshare.net/elegion/ss-40957408 2. Следующим спикером стал Эш Ферроу (Артси), разработчик, написавший iOS-клиент для стартапа 500px. Такой веселый и жизнерадостный, он жаловался на ошибки Xcode 6.

#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Он говорил не только о разработке на Swift, но и об использовании ReactiveCocoa в Swift. В общем, идея использования ReactiveCocoa не просто так витала в воздухе на конференции, о ней говорил каждый спикер, имеющий хоть какое-то отношение к iOS-разработке.

У Оши были хорошие примеры, которые он собирал прямо на сцене, показывая кусочки кода, которые хорошо дополняли его презентацию.

В конце доклада был вопрос ведущего конференции: «Шш, если бы тебя наняли для разработки проекта, какой язык ты бы использовалЭ» Ферроу ответил, что для коммерческого проекта обязательно ObjC. В целом: ReactiveCocoa на Swift — интересная тема, но пока не для производства.

Но вам обязательно стоит попробовать ReactiveCocoa на ObjC. После предстоящих релизов.

Время Свифта еще не пришло.

Презентация: www.slideshare.net/elegion/2-functional-programming-in-swift-ashfurrow 3. Затем на сцену вышел представитель ВКонтакте Андрей Новосельский с презентацией рекламного продвижения приложений на платформе ВК.



#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Меня не очень интересовало его выступление.

Я внимательно слушал, но сейчас не могу вспомнить ничего выдающегося.

Андрей рассказал о конфликте с Apple, предстоящем выпуске маркетинговой платформы и ее крутых функциях.

Помню вопрос из зала: «Почему бы вам не дать нам жетон на поддержкуЭ» Тут я оживился.

Но ответ разочаровал и меня, и автора вопроса: «У нас разные методы связи между серверами, давайте обсудим это после презентации».

Кто-то из зала недовольно пробормотал: «Игры в сторонке».

Итого: Я выяснил, что 60% пользователей ВК пользуются сервисом через мобильные приложения.

Презентация: www.slideshare.net/elegion/mbltdev 4. Илья Славутин, представитель Intel, начал рассказывать об их новом мобильном кроссплатформенном фреймворке INDE. В самом начале выступления была произнесена фраза: «INDE органично интегрируется в наши любимые IDE: Android Studio, Eclipse и Microsoft Visual Studio».

Все.

Выводы сделаны.



#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Не был показан пример (как указано в названии отчета).

Спикер был больше похож на маркетолога, чем на технического специалиста.

Да, он рассказал о том, как работает фреймворк, о C++-фреймворке поверх родных фреймворков каждой мобильной платформы (iOS, Windows Phone, Android) и даже рассказал о некоторых возможностях (например, работе с видео, аппаратными датчиками, и т. д.), но примеры кода для iOS были на ObjC. Я написал в Твиттере:

#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

На что я получил ответ:

#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Все равно код получается другой.

Я бы пока не использовал эту структуру.

В презентации не говорилось о тех API, которых не будет в нативной iOS. В целом: я узнал о попытке Intel создать кроссплатформенный инструмент разработки на C++ для всех платформ.

Но в примерах ObjC. Презентация: www.slideshare.net/elegion/mbltdev-intel-inde 5. Следующим на сцене Digital October появился наш Дмитрий Тарасов (Тинькофф Банк) в костюме и софитах.



#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Публика приветствовала его стоя, и вся женская публика смотрела на нашего мобильного архитектора влюбленными глазами.

Дима был великолепен.

Уверенный, энергичный, он рассказал об опыте ТКС.

В целом: Все хорошо.

Кстати, прежде чем задать вопрос Дмитрию, друг из зала похвалил наш мобильный банк.

Хороший.

Мы с менеджером переглянулись и расплылись в улыбке.

Презентация: www.slideshare.net/elegion/mbltdev-40959775 6. Следующим на сцене вышел Юрий Буянов, разработчик «Одноклассников».

Ведущий мероприятия не удержался и подразнил героя: «Сейчас мы узнаем, как сделано приложение, которым пользуются наши бабушки и дедушки».



#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Я был приятно удивлен выступлением.

Юра весело и уверенно, с паузами по мере необходимости рассказывал не просто о том, что такое MVVM, но и указывал на ошибки и приводил примеры с кодом.

Наглядно и понятно.

Я начал с напоминания о том, что такое стандарт MVC. Я включил первый слайд, а там было фото белки.

Юрий доказывал белке, что ему просто лень делать слайд для MVC. Затем он рассказал о MVVM, о том, что ModelView ничего не должен знать о View, и о том, как это соглашение обычно нарушается.

Этого можно избежать, используя шаблон «маршрутизатор».

Объект маршрутизатора содержит всю информацию о переходах между экранами и навигации.

Корректного поведения паттерна MVVM, по мнению Юрия, лучше всего добиться с помощью того же ReactiveCocoa. То есть при использовании сигнального механизма (когда объекты подписываются на изменения свойств других объектов).

Этот ReactiveCocoa повсюду.

В конце выступления ведущий прокомментировал: «Приятно осознавать, что «Одноклассники» тоже умеют программировать».

Итого: Юра поделился ошибками реализации MVVM, которые я вижу в своих проектах.

Было желание это исправить.

У меня тоже было желание попробовать RAC. Презентация: www.slideshare.net/elegion/mbltdev-mvvm 7. На сцену вышел мужчина в костюме (второй раз за день).

Он говорил о безопасности.

Это был Андрей Беленко (viaForensics).

Я тут же мысленно взял лист бумаги и начал составлять контрольный список, пока он говорил.



#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Андрей привел примеры использования NSUserDefaults в качестве хранилища паролей (это делает приложение «Парковки Москвы»).

И поделился кучей классных ошибок.

Например, хранение личных данных в чистом CoreData. Показано, насколько легко в этом случае получить пользовательские данные.

По чек-листу все хорошо.

Приватные данные шифруются с помощью не придуманного нами алгоритма (стандартного), ключ шифрования меняется динамически, пароли, если они хранятся, хранятся в связке ключей, а адреса серверов для тестирования не включены в сборку релиза.

; они вырезаются на этапе компиляции.

Андрей предложил запутать код, рассказав об особенностях языка ObjC. Действительно, все селекторы видны.

Но это опасно в том случае, когда, подключившись к приложению с отладчиком, можно вызвать метод, который вернет нам что-то секретное.

В Тинькофф Кошельке таких способов нет. (Пример включал метод, который возвращал статический ключ шифрования базы данных).

В целом: дела у нас идут хорошо.

Мы рекомендуем использовать TLS вместо SSL, когда это возможно (сертификат от спонсора).

Презентация: www.slideshare.net/elegion/7-mbltru 8. Руслан Гуменный (e-Legion) рассказал об особенностях коддизайна.



#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Тема показалась актуальной для сложных CI, но для нас мне показалось, что она не особо важна.

Руслан рассказал о том, как подписывать код и проверять подпись вручную.

Было полезно узнать, что для QuickLook есть плагин, отображающий информацию о пользователях ipa. Мне придется скачать его.

Итого: вам нужно будет скачать удобный плагин для просмотра информации о подписи ipa. Презентация: www.slideshare.net/elegion/8-codesign-for-i-os-final 9. Далее Алексей Коровянский (Mb-Lock) выступил с докладом на тему автоматического тестирования под Android. Я немного послушал доклад. В нем Алексей рассказал об инструментах тестирования под Android.

#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

В целом: писать тесты очень сложно, но можно и, наверное, нужно.

10. Я вернулся к аудитории в начале выступления Руслана Шевчука из Aviasales.ru. Руслан рассказал о Core Data. О том, что это такое и как этим пользоваться.



#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

В принципе речь была похожа на русскую озвучку презентации WWDC. Интересна была часть про iCloud, что Core Data позволяет неявно авторизовать пользователя и, по сути, хранить данные в облаке.

Я не уверен, подойдет ли это для наших проектов.

Итого: Руслан напомнил всем, как использовать Core Data, и упомянул, что эти данные также можно хранить в облаке.

Презентация: www.slideshare.net/elegion/10-aviasales-final 11. Внезапно мужчина в тапочках, сидевший на полу рядом со мной, встал и вышел на сцену.

Это был Александр Черный (инди-разработчик).



#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

И он говорил о трилатерации с использованием iBeacon. Он демонстративно раскидал по залу 3 маяка и ходил вокруг, определяя свое местоположение с помощью iOS-приложения.

Разумеется, попутно перечисляя все характеристики устройств, трудности и подробности расчетов.

Его выступление было очень интересным в силу его собственной харизмы, и я дослушал его до конца.

Итого: Александр рассказал всё про iBeacon, о его использовании, с примерами, где он может быть полезен.

Презентация: chernyy.ru/yapse/upload/trilateration-with-ibeacons.pdf 12. Потом появилась парочка представителей Google — Дмитрий Нефедкин и Наталья Ефимцева.

Они рассказали о своей платформе Google Cloud.

#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Например, они рассказали, что серверы Google по всему миру напрямую соединены проводами, что значительно ускоряет обмен данными между серверами, а обслуживание серверов совершенно незаметно, а значит, нет простоев для пользователей.

При создании бэкенда для мобильных клиентов вы можете сгенерировать классы, которые будут отвечать за связь с бэкендом.

На вопрос, чем они лучше Asure, они ответили, что «Дьявол кроется в деталях».

В целом: классный сервис, но есть опасность слишком привязаться к платформе, от которой потом будет сложно отказаться в случае чего.

Презентация: www.slideshare.net/elegion/mbltdev-backend-google-cloud-google 13. Следующим был Realm, о котором говорил Брайан Манхолм.



#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Насколько я понимаю, это кроссплатформенный Core Data, написанный на C++, работающий оооочень быстро и имеющий очень простой API (похожий на Core Data, но со скрытой внутри инициализацией стека).

Судя по бенчмаркам, там всё очень круто.

Надо попробовать.

Итог: нужно пробовать и оценивать на практике.

Презентация многообещающая.

Презентация: www.slideshare.net/elegion/mbltdev-41144735 14. Илья Рыженков рассказал о новом языке от JetBrains.

#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Короче говоря, JetBrains планирует выпустить новый язык — Kotlin. Так выглядят все «языки будущего».

Очень похоже на Scala и Swift. Теперь вы можете писать код на Scala в студии Android, и это хорошо.

Илья также рассказал о намерениях партнеров Google использовать этот язык.

Так что, думаю, у JetBrains всё наладится, и через пару лет можно будет смело переходить на Kotlin. Итого: Swift для Android. Та-дам.

Презентация: www.slideshare.net/elegion/mbltdev-40960224 15. В попытке побороть свое дикое желание начать танцевать, на сцену вышел Нди Карвел, представитель Soundcloud.

#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Он постоянно дергался от переизбытка эмоций.

Он рассказал о том, как Soundcloud переработал клиент iOS и снова использовал для этого ReactiveCocoa. В то же время приложение страдало от сбоев.

Но с помощью множества Mac mini и множества тестов за шесть месяцев мы сократили количество сбоев до 10 в неделю.

Что ж, не плохой результат. В целом: блин, мне обязательно нужно попробовать ReactiveCocoa. Презентация: www.slideshare.net/elegion/mbltdev-ios-soundcloud Следующие два доклада я не слушал.

Вот отчеты, которые я пропустил: 16. Разработка первоклассных Android SDK. Тай Смит, Твиттер.



#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Презентация: www.slideshare.net/elegion/mbltdev-sdk-android-twitter 17. Как не стать заложником одной платформы.

Алексей Панфилов.

Параллели.



#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Презентация: www.slideshare.net/elegion/mbltdev-parallels Спасибо за чтение.

Огромное спасибо e-Legion за фотографии и ссылки на презентации и, конечно же, за мероприятие.



#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Пока.

Теги: #разработка iOS #разработка мобильных приложений #Kotlin ##mbltdev #reactivecocoa

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.