3 гріха мобільного розробки на Mobius 2016

До Mobius 2016 залишилося 3 дні, і програма вже готова. Вийшло 24 доповіді про мобільної розробки: Android, iOS і кроссплатформної. Щоб їх уважно вивчити все, треба витратити майже годину часу, тому ми підготували невеликий гайд по програмі, яка сама собою розділилася на три напрями, не прив'язаних до платформи:
  • On the Edge;
  • Hardcore;
  • Software Craftsmanship;

Однак цей пост не тільки про конференції – кожен з доповідей потрапляє в програму з-за того чи іншого «грішка», поширеного серед програмістів. Давайте подивимося докладніше…




Гріх 0: Поклоніння silver bullet.


Так, це вічне очікування нових версій наших улюблених тулов, фреймворків, технічних рішень або навіть підходів до розробки. Синдром срібної кулі у програмістів в крові, і, очевидно, передається повітряно-краплинним шляхом.

Щоправда нові версії iOS приносять не тільки приємні сюрпризи, а дедлайн не дочекається Java 9 в Android (а адже ми подібного і чекаємо) – працювати треба тут і зараз. Правда в тому, що у нас вже є повна обойма нехай не срібних, але вбивчо ефективних патронів, і саме їм ми вирішили присвятити левову частку наших доповідей: навіщо чекати, коли все вже готове? Бери й пиши код.

Буде краще, скажете ви? І будете абсолютно праві! Проте і зараз у нас є інструменти для тих, хто жадає безпечного, reusable і maintainable коду в iOS-розробці, пряма дорога в Swift – на прикладі дженериків і Application Coordinators ми розглянемо інструментарій iOS-розробників, який не використовується в нових проектах з-за того, що його просто не було в Objective-C або про нього не так багато говорять. Докладне інтерв'ю про те, які плюшки і розкладені граблі в Swift, можна прочитати тут.

Те ж саме і з Android: тільки головна проблема платформи – її фрагментарність. І Google давно викотив своє рішення у вигляді концепції Material Design – сукупності підходів, які дають нам можливість зробити красиву, живе додаток, не будучи генієм в дизайні. При чому тут розробник, запитаєте ви? При тому, що 77 відсотків додатків отримують погані оцінки з-за того, що виглядають жахливо, незалежно від оптимізації, правильного бекенду або широкого функціоналу. Як з цим справлятися, розкажуть Wiebe Elsinga (Android GDE/Експерт по UX) і Володимир Іванов, на практиці впроваджує Material Дизайну в свої додатки. До речі, велике інтерв'ю на цю тему можна почитати тут.

Також поговоримо про актуальні (а головне, що вже працюють!) фреймворках:

Єгор Толстой (Rambler&Co) розповість про Typhoon;
Ігор Василенко (Yota) – про ReactiveCocoa;
Кирило Попов (Однокласники) – про те, коли готові бібліотеки краще своїх рідних «велосипедів» на прикладі Fresco;
Денис і Максим Кретов Євтух (Нотиссимус) – про те, як їм вдалося добитися скорочення часу розробки під декілька платформ з допомогою Xamarin і MvvmCross.
Гріх 1: Знання «високого рівня».


Є як мінімум 2 типу розробників: ті, хто любить будувати високорівневі архітектурні «повітряні замки» і ті, хто закопується по саме «не хочу» в нетрі низькорівневих оптимізацій. Програмісти першого типу часто забувають про те, що розбиратися в низькорівневих нюанси слід не тільки розробникам драйверів: завжди слід розуміти, як ваш код буде вести себе на тій чи іншій платформі, з тієї чи іншої VM. І це вельми поширений «косяк», хоча серед учасників наших конференцій багато розробників другого типу: тих, що люблять працювати ближче до ОС. Серед спікерів – в цей раз у нас чверть доповідей проходять під міткою «хардкор»: про «кишочках», віртуальних машинах, мови і підходах в програмуванні.

Дві доповіді, по одному на кожну платформу, виділені під реактивний підхід: Матвій Мальків вже робив «вступний доповідь» про реактивщине під Android у минулому році, в цей раз мова піде про тих помилках, які допускають розробники і про те, що таке правильне реактивне програмування на Android (до речі, на цю тему є недавнє інтерв'ю). У стані iOS про реактивному підході розповість Євген Ртищев (Ощадбанк-Технології) у доповіді «Реактивний MVVM»

Про Swift ми говорили в минулому розділі, так як там у світі iOS особливо не розгулятися. А ось Android з точки зору вибору доступних мов розробки надає велике «меню»: крім Java 7 та 8 (в найближчому майбутньому), в продашн йдуть додатки написані на Kotlin і Scala. Про плюси і мінуси мобільного розробки на цих мовах розкажуть Ян Жуланов (JetBrains) та Матвій Мальків (вже більше року пише Scala).

Ну і останні дві доповіді в цій категорії присвячені Android internals: доповідь Дмитра Поліщука про тонкощі і граблях в роботі з мультимедійною підсистемою Android і виступ Михайла Розумянского «Bytecode weaving 101», в якому мова піде про кодогенерацию на рівні байткода, про патчінг байткода в цілому та переваги і недоліки у порівнянні зі стандартним annotation processing'ом.

Гріх 2: Лінь і консерватизм.


«Що за нісенітниця? Перший пункт про срібні кулі, а третій – про консерватизм?» Так, саме так! Ми чекаємо якихось рішень, вивчаємо їх з ентузіазмом і радістю, але все це працює тільки там, де нам цікаво. Однак доля будь-якого розробника сповнене сюрпризів: весь час відбувається безліч змін, які доводиться вивчати. І ніхто не хоче цього.

Втім, технологічний стек мобільного розробника оновлюється ще швидше: Material Design, Swift 3.0, React, Kotlin, нові версії віртуальних машин і операційних систем – тільки встигай дивитися і освоювати все це забирає сили і час. На Mobius ми підготували для вас витяг важливих новин так, щоб ви не витрачали десятки годин на серфінг в інтернеті і спроби відфільтрувати корисні речі з тонн інформаційного «шуму».

Найпростіший приклад: Google i/o 2016 – сотні різношерстих статей та анонсів, один повторює інший, а третій перебріхує другий – при цьому велика частина всього цього розрахована на гиків і співчуваючих. Якщо чесно, нам так і не вдалося знайти єдиного джерела зі всієї важливої для програміста інформацією з конференції, тому особисто я з задоволенням піду слухати доповідь з «гарячими новинами» для розробників. з перших вуст Дениса Неклюдова, Android GDE. А в якості затравки можна почитати інтерв'ю з Денисом про Android N.

Другий приклад: дуже складно оцінити перспективи тих чи інших технологій самостійно. Зрештою, ми всі вірили в успіх Google Glass, і де вони тепер? З іншого боку, тема VR або Android поза-телефонів зростає і розвивається, стаючи індустрією. Пора рухати в цьому напрямку? Про це буде пара доповідей:
  • Коршак Олександр щодо практичного застосування і розробки під Cardboard
  • Олексій Рибаков про Android TV Gaming (Vulkan API, Nvidia Gameworks і т.д.)
Третя тема, яку слід знати, але на яку не дуже хочеться вникати, це безпека: про останніх фичах iOS і Android в цій області розповість Борис Рютин.

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

Гріх 3: Ніхто не любить кодити.




Так-так, кодити ніхто не любить – все люблять вирішувати цікаві завдання і ламати голову над алгоритмічними завданнями або оптимізацією. А писати-то хто буде? У будь-якому випадку, на Mobius у нас є кілька доповідей про написання коду досліджуваного, про практичному «прискорення» ваших додатків, про швидке управлінні набором «фіч» та їх конфігурацій, а також практичної типографіці в iOS.

А що в підсумку?

Індульгенції не буде, проте на кожен грішок у нас є, що сказати. Якщо ж ви знаєте щось, про що варто говорити на конференції, а у програмі цього немає – сміливо пишіть нам, наступного разу ми знову будемо намагатися зробити все на вищому рівні.

До зустрічі на конференції!

P. S. якщо вам хочеться на Mobius, але до Пітера не доїхати, у нас є онлайн-трансляція.
P. P. S. Якщо ви хочете подивитися на доповіді минулих Mobius, вони вже всі викладені на нашому YouTube-каналі.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.