DroDev | Мобильная разработка: мысли вслух
461 subscribers
104 photos
229 links
Обсуждаю и рассказываю как сделать жизнь разработчика в команде интересной, легкой и продуктивной.

По всем вопросам @dilix90
Download Telegram
Если вас дизайнер просит реализовать очередную дикую анимацию, годный лайфхак - #Lottie от AirBnb

Lottie позволяет экспортировать анимацию прямо из #AfterEffects как последовательность преобразований графики!

Т.е. вы грузите json, а Lottie его парсит и корректно, по сути нативно, воспроизводит анимацию. Может возникнуть проблема со сложными масками - поддерживается не все подмножество возможностей из After Effects, но тем не менее, с этой либой можно притворять магию на устройстве - факт.

Более того, у View, которая воспроизводит анимацию можно влиять на воспроизведение, например: делаете четкую иконку "избранного"
 с анимированным переходом между состояниями... Стопите анимацию на первом кадре - вот он первый state, при нажатии проигрываете до 163 (пример) кадра и останавливаетесь там - вот и переход между первым и вторым состоянием. http://bit.ly/2ZmJErW
Когда спрашивают - как начать изучать #android или что нужно знать - сложно с наскока вывалить весь список полезной информации.

Но вот наткнулся на полезную шпаргалку - план обучения для новичка в этой теме. http://bit.ly/2Zk9GNq
25 Октября в Москве пройдет "Международный хакатон Hack.Moscow v3.0".

Направления разработок: #BigData, #FinTech, Smart city, #Blockchain, Entertainment, Logistics, Internet of things, #AR & #VR, #AI, and machine learning. http://bit.ly/33OUciX
Saint AppsConf в Питере уже скоро!
21 и 22 октября в Park Inn Пулковская.

Разнообразная 2-х дневная программа обещает быть насыщенной, выступают ребята из Yandex, Redmadrobot, Avito и др. http://bit.ly/2kywOoi
Разыгрываем курс Андроид разработки от Udemy в нашем сообществе Вконтакте
https://vk.com/dr_dev

Условия и правила конкурса в закрепленном посте в группе!
На Хабре наткнулся на статью "#Dagger2 - это элементарно": http://bit.ly/2lN46Ak

Хотя я целиком и полностью НЕ согласен с заголовком, но ознакомиться новичкам для понимания принципов точно стоит.

Чуть более подробная статья, но на английском - http://bit.ly/2kthU2F

И также более глубокая статья, но уже на русском: http://bit.ly/2lN4Cyg

Ну и кои первоначальная статья про #kotlin, нельзя не сказать про то, что для него также стоит посмотреть и понимать в чем отличия между даггером и #koinhttp://bit.ly/2kD5tRJ
В Android Studio 3.6 (canary 11+) завезли ViewBinding, почитать о котором на рус. можно в статье: http://bit.ly/2lUr4Fp

Отличие ViewBinding от DataBinding (http://bit.ly/2kdBmQA) в том, что первое дает доступ к View из вашего Activity/Fragmenta, а DataBinding позволяет использовать данные из viewModel прямо в разметке.

ViewBinding инкапсулирует в себе всякие findViewById, и в отличии от Kotlin Synthetic не позволит попутать типы или случайно попытаться получить доступ к View вообще не от текущего экрана.

Решение однозначно полезное, но на мой взгляд код с Kotlin Synthetic выглядит более лаконично, и на практике, если подходить к разработке с головой, а не с копипастом, то TypeCastException происходит крайне редко.
Андроид, по сравнению с тем же iOS, всегда отличался зоопарком разных разрешений экранов, разных форм-факторов и т.д.

Google пишет о том, что видит тенденции в запусках приложений на еще более широком спектре устройств, например, они говорят о росте запусках приложений на их ChromeOS на 250% за год и о том, что пора тестироваться на Foldable устройствах (с гибким экраном).

А это значит, что разработка будет еще "веселее", а в парк тестировщиков прибудет новых девайсов ;) http://bit.ly/2kf1NFx
Все Android samples переехали в один репозиторий на гитхабе, который принимает пул реквесты💃

Контрибьютить в развитие Android стало еще проще. http://bit.ly/2mjoetS
Мой сетап для разработки на рабочем месте:
- 2 монитора, один из них вертикальный - так даже меньше соблазна НЕ разбить код, если вылезает за кол-во символов, определенных CS
- 2 устройства, т.к. часто нужно тестировать клиент-серверные и\или социальные приложения и тестировать как это все работает
Считаете ли вы 2 монитора must have?
Anonymous Poll
58%
Да
24%
Нет
18%
2 мало, даешь больше!
Немного про обучение Андроид разработке.

На август 2019 года возглавляют рейтинг (http://bit.ly/2lTcZbo) онлайн образования
- Skillbox: http://bit.ly/2kNGbR0
- Нетология: http://bit.ly/2lYc09K

В этой компании мне также симпатизирует GeekBrains как площадка от Mail.ru, нацеленная сугубо на IT.


Про Skillbox.

У них есть комплексная программа, которая обучает на профессию мобильного разработчика: http://bit.ly/2kMrYDT
Цель - подготовить кадры от и до с трудоустройством как цель всего процесса, что круто!

Цена вопроса от 6,900руб в месяц.

Есть и более короткие курсы, например "Курс мобильного разработчика", который длится 12 месяцев, а не 2 года: http://bit.ly/2md68cX
Кстати по ссылке выше - скидос 45%(!) на оплату курса ;)

Цена вопроса без скидки 60,000руб.


Про Нетологию.

За 6 месяцев подготовливают специалистов по Андроид разработке (http://bit.ly/2lYc09K) и помогают с трудоустройством.

Цена вопроса 39,900руб за курс или от 4,159руб в месяц.


Про GeekBrains

Модель похожа на Skillbox, можно пройти отдельно курсы по разработке http://bit.ly/2lQgAXV, по ссылке скидка 15%.

Цена вопроса без скидки от 9,623руб в месяц.

А можно пройти факультет разработки в GeekBrains University с гарантированным трудоустройством: http://bit.ly/2kp6QDC, по ссылке скидка 3%.

Цена вопроса без скидки 12,500руб в месяц.


Важная составляющая - наставник, потому что порой совет от эксперта может сэкономить часы и дни гугления!


Если бы я выбирал полный цикл обучения от 0 до первой работы в качестве разработчика, пожалуй, я бы выбрал курсы от Skillbox, как обучение от лидера рынка за адекватную цену.
Тем временем как Github добавил возможность создавать приватные репозитории 🙂...

GitKraken запретил открывать их же 🙃
Мини интерактив, чтобы "размять" внимательность ближе к концу рабочего дня. Какие косяки есть в данном фрагменте кода?

P.S. ответы, вида "весь код - кусок косяка" не принимаются 🙃
#Яндекс проводит чемпионат по программированию!

Правила квалификации:
с 12:00 14 октября до 23:59 20 октября вам нужно будет выбрать промежуток времени — 4 часа — на решение как минимум двух из четырёх задач. Попытка только одна!

Финальный раунд:
с 12:00 до 16:00 26 октября. Участники получат четыре задачи.

Двадцать лучших финалистов приглашают в московский офис — на экскурсию и собеседование с командами Яндекс Поиска. Иногородним участникам оплатим поездку.

Денежные призы
I место — 300 тысяч рублей
II место — 150 тысяч рублей
III место — 100 тысяч рублей

Специальные призы
Яндекс.Станция
Футболки
Сертификаты


Отличный способ проверить свои навыки! http://bit.ly/2QmG3H1
Заказчики все чаще спрашивают "а что, может сделать сразу на ReactNative/Flutter/че-угодно"?

Кажется, что кроссплатформенная разработка - прямо то что надо, написали один раз и вот магия, работает!... не всегда работает 🤔

Из вида упускаются моменты, что
- пока что рынок нативных разработчиков больше, будет проще найти человека если что
- UX/UI может различаться между платформами - и чем больше различий - тем меньше плюсов в сторону одного универсального приложения
- заказчик может захотеть использовать последние фичи платформы, которые еще не подвезли в выбранный framework

Т.ч. на мой взгляд нет однозначного ответа на "натив или кроссплатформ?", в каждом отдельном случае надо смотреть и на сложность интерфейсов и на то, зачем вообще приложение создается, как долго оно собирается поддерживаться и т.д.

Для быстрого MVP на обе платформы - да, спору нет, кросплатформ почти всегда победит, а вот дальше - вопросы... http://bit.ly/2khtvBy
Первый и главный вопрос в любой вакансии - как долго вы этим занимаетесь...
Google объявил о запуске PlayPass в US - сервис, работающий по подписке, в котором собираются лучшие приложения и игры, а разработчики получают вознаграждение (денежное ес-но) в зависимости от "вовлеченности" пользователей.

Теперь можно будет удерживать пользователей, используя все возможные инструменты, не волнуясь о монетизации, что очень круто!

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

Попасть в программу на данный момент можно только по инвайтам, если хотите попасть, стоит оставить заявку в официальной гуглоформе: bit.ly/playPassForm http://bit.ly/2nnVrox
В прошлую пятницу запускал интерактив по поиску "кода в ошибках ;)", прикрепляю все основные "косяки" того самого фрагмента.

В нашем сообществе Вконтакте (https://vk.com/dr_dev) участники накидали еще больше годных замечаний, за что им отдельное спасибо!

* использование input приведет к IndexOutOfBounds точнее, а не IllegalAccess