StartAndroid
10.2K subscribers
382 photos
11 videos
5 files
1.83K links
Канал об Android (Андроид) разработке

Сайт - http://startandroid.ru

Чат - https://tttttt.me/startandroidchat

Контакты - https://startandroid.ru/ru/about/cntct5.html

Реклама - https://startandroid.ru/ru/about/reklama.html

РКН - https://shorturl.at/p7iUr
Download Telegram
Иногда спрашивают мое мнение насчет изучения Kotlin и Flutter. Я решил написать об этом отдельно и буду потом ссылаться на этот пост.



Kotlin

Стоит ли изучать?
Однозначно и без всяких сомнений - да. В статьях он уже используется для примеров не реже, чем Java. Официальная Android документация также содержит примеры на Kotlin. Google официально признала этот язык еще на IO 17. Kotlin часто указывается в вакансиях (пока что, как "желательно"). Ну и он действительно удобный и гибкий.


Как изучать?
Можно читать официальные мануалы, они вполне себе качественные и без лишней воды. При этом делайте примеры, экспериментируйте, чтобы лучше понять нюансы. Если что-то совсем не понятно, то пропускайте, не зацикливайтесь. Вовсе необязательно изучать сразу все, позже вернетесь.
Когда базовые знания будут усвоены, читайте статьи с Medium.com по теме Kotlin, чтобы понять более интересные темы.
Какие-то конкретные книги или курсы я порекомендовать не могу, потому что ничего такого не читал и не проходил. Изучал по вышеописанной схеме.


Нужна ли Java?
Да. Kotlin надо изучать не вместо Java, а после нее или вместе с ней. Потому что в учебниках по Kotlin обычно пишут только про Kotlin. Базовых тем по Java там может и не быть. А они нужны даже при использовании Kotlin.


Каков порог вхождения?
Если знаете Java - порог вхождения минимален. Примерно одна-две недели уйдет на перестроение нейронных цепочек, переосмысление некоторых парадигм и преодоление культурного шока типа: "А что, так можно было?!". Потом еще пару недель - на то, чтобы перестать ставить точку с запятой в конце каждой строки ))


Можно ли прийти на Kotlin-проект без Kotlin-опыта?
Да. Я именно так и сделал в начале прошлого года. У меня была только теория и разобранные статьи с примерами, но я без особых проблем влился в проект. Если возникали вопросы, то интернет и коллеги всегда выручали.


Будет ли курс по Kotlin?
По базовым вещам - точно нет. Они и так описаны и расписаны везде, где можно. Там все просто. А вот по более интересным темам типа delegation, DSL, inline, coroutines и прочего я подумываю сделать курс. Там есть очень нетривиальные для понимания вещи.



Flutter

Тут все просто. Я пока не вижу, чтобы этот инструмент был востребован настолько, чтобы внести его хотя бы в первую десятку своих приоритетов.
Если бы у меня было больше свободного времени, я наверно сделал бы пару примеров ради интереса. Но погружаться в тему и изучать подробно все равно не стал бы. Пока что я настроен скептически.
Android Studio 3.4 доступна. Я обновился, все прошло быстро и гладко. Ничего не поломалось, проект компилится и запускается.

Новый Resource Manager работает норм, отображаются preview для Drawable и Layout ресурсов.

В окне Project Structure -> Suggestions можно посмотреть, для каких dependencies есть новые версии. А вот граф зависимостей в этом окне строится как-то тяжеловато, постоянно виснет и съедает все доступные студии 2 гига памяти.

UPD
Дал студии 4 ГБ памяти, чтобы проверить, сколько ей надо в итоге для построения графа зависимостей. Выяснилось, что ей нужно было как раз 2ГБ.

#androidstudio

https://android-developers.googleblog.com/2019/04/android-studio-34.html
Автор показывает, как избавиться от findViewById в ViewHolder с помощью Kotlin Android Extensions

#android #kotlin

https://medium.com/mclinica-tech/kotlin-layoutcontainer-goodbye-viewholder-boilerplate-dcbaa2c26c27
В DataBinding можно добавлять зависимости между Observable полями. В статье рассматривается пара примеров, как это можно использовать:
1) Скрывать/показывать текстовое поле в зависимости от того, есть там текст или нет
2) Скрывать/показывать кнопку Submit в зависимости от того, заполнены ли все необходимые поля ввода

#android #databinding

https://android.jlelse.eu/an-untold-story-of-observable-dependencies-in-data-binding-c7824552e4ec
Статья покажет, как встроить прогрессбар в кнопку. Сделать это красиво не так уж и просто.

#android #design

https://proandroiddev.com/replace-progressdialog-with-a-progress-button-in-your-app-14ed1d50b44
Несколько простых советов по написанию кода на Kotlin. Будет полезно новичкам.

#android #kotlin

https://android.jlelse.eu/common-code-smells-in-kotlin-57684429e9e
График выхода Android Q. Источник - https://www.youtube.com/watch?v=aNfmLnYWpas
Хороший пример того, как может быть организован процесс интервью на позицию разработчика.

Черным закрыты имена людей и название компании
В Android Studio 3.5 нас ждут изменения в Layout Editor. Статья описывает, что изменится при работе с ConstraintLayout.

#androidstudio

https://medium.com/androiddevelopers/android-studio-project-marble-layout-editor-608b6704957a
Видео про разбиение приложения на модули. Обсуждают такие вопросы как:
- что выносить в фича-модуль
- как организовать работу с БД
- где использовать api, а где implementation
и прочие вопросы многомодульности.

#architecture #module

https://www.youtube.com/watch?v=PZBg5DIzNww
Видео про Android Studio. В основном про те аспекты, которые нам не видны явно:
- cбор статистики работы и ошибок
- оптимизация работы
- исправление багов
- gradle sync
- новая версия Instant Run, которая называется Apply Changes.

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

#androidstuio

https://www.youtube.com/watch?v=8rfvfojtRss