Всем привет! Через 17 минут начнется новая неделя, а значит с вами новый ведущий! Меня зовут Владимир… twitter.com/i/web/status/1…
Поговорим наверно вот о чем:
Начнем с опроса для андроид девов. Кто с какой версии начинал?
Я начинал с версии 1.6, тогда удалось достать HTC девайс, не Hero, но и не G1, с выдвижной еще клавиатурой. Девайс… twitter.com/i/web/status/1…
Рекомендованной средой был богомерзкий эклипс с адт плагином. После первого запуска этого добра я пересел на Идею.
Сдк надо было ставить отдельно, практически никаких инструментов для отладки не было - только monitor с логкатом, и отладчик в идее.
Тесты были только инструментальные. Так как все тормозило, эти тесты никто не писал. Инструментов для статического анализа тоже не было.
Сборка идеей или антом. Представляете, какой ад?
Никакого design или preview тулов, никакого instant run, ничего. Только ребилд, только хардкор.
Забавно, что 10 лет назад в качестве хранения данных так и были shared preferences и sqlite. Появились только много… twitter.com/i/web/status/1…
Верю, что у большинства у вас есть CI: настроен Jenkins или еще что, что вам автоматически собирает билды, а если п… twitter.com/i/web/status/1…
Еще я помню период, когда были shell скрипты, которые делали всю работу по сборке: руками компиляция, dex, апк, выр… twitter.com/i/web/status/1…
Кстати, из средств управления работой в фоне изначально были только асинктаски и голые треды.
Кстати, все эти воспоминания не для ностальгии, а для того, чтобы мы ценили то, что у нас есть сейчас.
Что мы сейчас имеем:
UI по прежнему хреновый, но об этом завтра)
Доброе утречко! Кто пробовал React Native или Flutter? Как вам?
Сам я пишу под React Native уже больше двух лет, и у меня несколько приложений в продакшне, с разной степени сложно… twitter.com/i/web/status/1…
Многие думают, что React Native нужен для того, чтобы писать одно приложение на две/три платформы. На самом деле это конечно не так.
Ладно, давайте на чистоту: весь этот ваш инженерный перфекционизм никому не нужен. Ни пользователем, ни кастомерам, никому.
Код пишется не ради кода, а ради продукта, который приносит value(а в след за ним - деньги). Если есть способ быстр… twitter.com/i/web/status/1…
Поэтому всегда и были и будут Cordova, Ionic, Xamarin, React Native, Flutter, и что там еще придумают.
Интересен вот какой вопрос: когда кроссплатформа займет процентов 50 девелоперского рынка?
Ладно, давайте про техническую часть поговорим) Как у нас UI на андроиде делается? Пишете xml-файл(1), создаете фра… twitter.com/i/web/status/1…
Ах да, не забываем презентеры(5) засовывать в DI. И еще про интеракторы забыли(6)
React Native: пишем flow-модель(1), пишем js-компонент с jsx(2). Если надо, дописали хелперов в отдельном js-файле(… twitter.com/i/web/status/1…
Еще я до сих пор офигеваю от того, насколько неудобен реюз визуальных компонент в Android: половину параметров можн… twitter.com/i/web/status/1…
Тут Реакт спасает: у вас есть компонент, который ничего, кроме своих пропсов не показывает. Сильно повышается предс… twitter.com/i/web/status/1…
Раз все так не любят React Native, давайте поговорим про нативную разработку. Что вас раздражает больше всего в Android/iOS деве?
@ryasn0y @mobileunderhood В твит не влезет. Но если коротко: 1. качество компилятора ниже плинтуса: время компиляци… twitter.com/i/web/status/1…
Минутка рекламы. Есть купон на 50% скидки на все продукты JetBrains. Купон одноразовый, действует до 23 ноября. Нап… twitter.com/i/web/status/1…
Жалобы на свифт пошли, а на Котлин есть жалобы? Или все отлично?
Для меня пожалуй самая большая боль - это то, что в студии постоянно ломаются те или иные тулзы. Вот сейчас в AS 3.… twitter.com/i/web/status/1…
Документация кстати тоже хромает. Как запустить единственный instrumentationTest? Вот тут(developer.android.com/studio/test/co…)… twitter.com/i/web/status/1…
На SO говорят другое, но для старых версий гредла. stackoverflow.com/questions/1956…
Наверно, это такое проклятие мобайла: все меняется с невероятной скоростью.
У меня на медиуме есть серия статей про то, как делать работу в фоне под Android. 5 кардинально разных способов за… twitter.com/i/web/status/1…
Сегодня хочу рассказать, как выглядит mobile в @EPAMSYSTEMS . Но сначала хочу выяснить, где работает аудитория)
Я работал какое-то время в продуктовой компании, и проблема в том, что твой удел это долгая эволюция одного продукт… twitter.com/i/web/status/1…
В этом плане хорош аутсорс: возможность менять продукты, области, технологические стеки более-менее часто.
Сегодня у тебя мобильное приложение, которому 6 лет, а завтра пишешь с 0 на kotlin новенький апп.
Надоел натив - пошел учиться делать что-то еще, тот же React Native.
В Епаме хорошо выстроен институт обучения, у нас есть образовательные программы для всего, чем занимаемся. От автом… twitter.com/i/web/status/1…
Сейчас у нас стартовала React Native Mentoring Program, учим коллег писать мобильные приложения с помощью React Nat… twitter.com/i/web/status/1…
Когда аудитория говорит, что аутсорс - это говнокод, мне обидно. Это как говорить, что арбузы невкусные, попробовав пару неспелых ягод.
У нас в компании есть такая штука, как Engineering Excellence Initiative: учим производству качественного ПО. Кажды… twitter.com/i/web/status/1…
Тут рассказывают, как делать code review, зачем писать юнит-тесты, как пользоваться статическими анализаторами, как… twitter.com/i/web/status/1…
На более высоких ступенях рассказывают про Lean Development и Feedback diagrams. Есть конечно курсы для Delivery Ma… twitter.com/i/web/status/1…
Кстати, обычно девелоперы знакомятся с проектом, когда контракт подписан, и нужно разрабатывать приложение. На само… twitter.com/i/web/status/1…
На эту тему есть мой толк на английском про роль архитектора в проекте, гляньте: vimeo.com/267044666
Как вы думаете, как выбирается технология, на которой будут делать проект? Как выбрать между native, React Native,… twitter.com/i/web/status/1…
В Епаме этот процесс разделен на две части: presale и discovery.
В процессе пресейла есть выделенный Solution Architect, он анализирует требования, которые пришли в RFP(request for… twitter.com/i/web/status/1…
Например: критичен time to market, уже есть веб-сайт на React, нужен mobile app. В таких условиях выбирается React… twitter.com/i/web/status/1…
Или целевое устройство: 1 модель iPad. Понятно, что тут будет предложен Swift.
Если разницы нет, то предложат ту технологию, под которую есть специалисты на бенче, или которых легко нанять с рынка.
Если заказчик сказал, что мы выиграли proposal, разработка не начинается сразу. Есть такая фаза discovery: чтобы ут… twitter.com/i/web/status/1…
Проекты бывают разные: иногда Епам делает все решение целиком, иногда только консультирует, иногда сдает разработчиков в аренду.
Размеры проектов тоже разные: от 1 до 40 на мобильное приложение.
Специфика аренды такая, что девелоперам приходится работать с шифтом: Лос-Анджелес встает в 9 вечера по нашему времени.
Зато удаленная работа - норма. Можешь и хочешь делать работу из дома - делай. Считаем коллег взрослыми ответственными людьми.
Веселая история офшора: делали мобайл апп с платежами по картам(девай вставлялся в 3.5 и физически считывал карту)
Оказалось, что в России сервис не работает, а спуфингом нельзя пользоваться. Разработка оказалась под угрозой
Пришлось искать android/iOS девов в США на легче, чтобы реализовать часть функциональности
А вы читаете Егора? Статьи у него хорошие:
yegor256.com/2015/06/22/val…
Хорошие новости! Вышла расшифровка моего доклада с #appsconf про корутины) Налетай, плюсуй, шарь! habr.com/company/oleg-b…
Сегодня хочу рассказать, как выглядит mobile в @EPAMSYSTEMS . Но сначала хочу выяснить, где работает аудитория)
Раз я начал про доклады, давайте сегодня про конференции поговорим. Друзья, зачем по вашему мнению ходить на профес… twitter.com/i/web/status/1…
На мой взгляд ситуация такая, что сколько бы времени вы не уделяли любимой работе, все знать не сможете. Сколько бы… twitter.com/i/web/status/1…
Единственным выходом является участие на конференции: выделяете два дня на то, чтобы "close the gap": посмотреть, ч… twitter.com/i/web/status/1…
Я так годик посидел в изоляции и офигел на конференции, как много пропустил.
Кроме очевидного, что нужно ходить на доклады, вам еще получится в живую непосредственного пообщаться с экспертами.… twitter.com/i/web/status/1…
Кроме общения с одним экспертом, случаются еще места, где можно всей толпой обсудить какую-нибудь животрепещущую те… twitter.com/i/web/status/1…
Ну, и не забывайте, что на конференции приходят сообщества и компании, которые там ставят стенды. Можно узнать, кто… twitter.com/i/web/status/1…
Если вы не знаете, как правильно ходить на конференции: не думайте работать на конфе! Ни пообщаетесь, ни доклады не… twitter.com/i/web/status/1…
Не стоит пить накануне конфы, а то голова будет болеть, и будете искать таблетки от головы вместо похода на доклад.… twitter.com/i/web/status/1…
Прежде, чем говорить про то, как и зачем выступать на конфах, хочу позвать вас на конференцию @MobiusConf 2018, ко… twitter.com/i/web/status/1…
Нет такой конфы, в которой не было бы спикеров. Лайк, если интересно, как стать спикером на мобильной конференции!
Обычно для начала выступлений мешает два факта: неуверенность в своих знаниях, и боязнь выглядеть глупо.
Если вы проработали в индустрии пару лет, вам уже есть что рассказать. Смотрите на свой проект, и думаете, что само… twitter.com/i/web/status/1…
Так как это ваш опыт, то самое большое, что вам могут предьявить - это вопрос, почему так. Потрудитесь ответить для… twitter.com/i/web/status/1…
Теперь формулируете тему и предлагаете внутри своей компании это рассказать: соседнему проекту, отделу или просто л… twitter.com/i/web/status/1…
Даже если вы где-то допустите ошибки, вам по дружески на них укажут, а заодно и смогут поделиться опытом, как их избежать в будущем.
После того, как получен первый опыт(обязательно просите, чтобы выступление записали!) можно попроситься в профильно… twitter.com/i/web/status/1…
Набрав некоторый опыт выступлений, можно податься на DevFest, CodeFest, AppsConf и конечно @MobiusConf . Кстати, на… twitter.com/i/web/status/1…
Публичные выступления - это навык, который можно и нужно тренировать. Это помогает карьере: вы лучше изучаете то, о… twitter.com/i/web/status/1…
@mobileunderhood Даже если вы расскажете глупость и расскажете её плохо, вас запомнят, как человека, который расска… twitter.com/i/web/status/1…
Рассказываю рецепт, что делать когда вам говорят, что у вас на слайде ошибка и вы сказали неправду:
1. Говорите спасибо
- Записываете/запоминаете, что не так
- Дома изучаете вопрос.
Стыдиться не надо, никто не з… twitter.com/i/web/status/1…
@mobileunderhood @VasilovArtur @igrekde По @CocoaHeadsRu лучше писать мне :)
Сегодня последний день, и я мало успею потратить, так что буду делиться полезными ссылками
Потвиттить конечно.
Что/кого я лично читаю по android:
@KotlinWeekly
@parahall
@eenriquelopez
@rigaroo
@p_szklarska… twitter.com/i/web/status/1…
По React-Native могу посоветовать @dan_abramov и телеграм чат t.me/reactnative_ru
Есть еще тг чат по архитектуре в Android, на мой взгляд, обсуждают каждый день одно и тоже, но иногда находятся инт… twitter.com/i/web/status/1…
По поводу публичных выступлений я тут кое-что рассказывал: klever.blog/how-to-become-…
На том же портале есть рассказ коллеги о том, как работать стоя) У меня кстати work desk тоже подъемный, часто поль… twitter.com/i/web/status/1…
Ну, и конечно друзья, добавляйтесь в тви: @vvsevolodovich, часто тоже шарю всякие полезности
- https://developer.android.com/studio/test/command-line
- https://stackoverflow.com/questions/19565857/running-a-specific-unit-test-with-gradle
- https://vimeo.com/267044666
- https://www.yegor256.com/2015/06/22/valid-reasons-to-reject-bug-fix.amp.html?__twitter_impression=true
- https://habr.com/company/oleg-bunin/blog/429908/
- https://t.me/reactnative_ru
- http://klever.blog/how-to-become-an-international-speaker/