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

По всем вопросам @dilix90
Download Telegram
До 30 сентября в #Skillbox пожно получить скидос 55% (!) по промокоду marafon

Профессия #Android разработчик за 90т.р. вместо 201т.р.

За эту цену вы получаете

👉 Доступ к курсу навсегда
👉 #Обучение через практику
👉 Гибкий и свободный график занятий
👉 Работа с личным наставником
👉 Гарантированное трудоустройство https://fas.st/EiioLZ
Если вы смотрите свой старый код и он вас не вводит в ужас - то что-то пошло не так 😉

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

И я до сих пор помню самое первое целиковое приложение, которое написал на Delphi в школе. Это были крестики нолики... Так вот, алгоритм проверки у меня был написано целиком в индиястайл подходе. Никаких циклов, ничего такого, обычный, тупой и максимально простой (но сложный) набор if-ов. Если x1;y1=x2;y1=x3;y1=X, то победили крестики. Если x1;y1=x2;y1=x3;y1=O, то победили крестики. И так далее.

Никогда не переставайте развиваться, смотреть старый код, и по возможности ужосаться ему 😆
Вот вам #Задача, которая отвечает на то - зачем вообще нужны алгоритмы и алгоритмическое мышление. Помню понравилась мне она очень на одной из олимпиад по программированию.

Математическое казино.

Вася играет в "математическое казино". Он ставит 1 монетку. Ему предлагают решить задачку. Если справляется - получает x2, если нет - ставка сгорает. В случае проигрыша Вася каждый раз увеличивает свою ставку в 2 раза, а если выигрывает - забирает монетки и начинает снова играть со ставки в 1. Известно, что Вася закончил играть на очередном своем выигрыше.

Вопрос - как бы вы написали решение данной задачи?
This media is not supported in your browser
VIEW IN TELEGRAM
Сходил я тут в Москве на Art Life Fest в Москве...
При чем тут выставка и #Android разработка 🤔?

При том, что AR через приложение бомбический!
Тот случай, когда "могут, когда захотят".

Вы ходите по выставке, слушаете через аудиогид про художников, а часть картин дополняет через AR стоит лишь на них навести экран.

#UX и то как сделано приложение - просто кайф. И да, это не реклама :D
Вся соль платформы, будь то #Android или #iOS в её целостности.
Приложения, и вообще весь пользовательский опыт не должен координальным образом отличаться (если это не касается игр).

В Андроиде именно для этого существует единый Material Guideline.
Это сбор рецептов и практик как должно выглядеть ваше приложение под Андроид.

Есть отдельный цикл статей про использование материала в вашем приложении:

👉 Цветовая гамма Material Design

👉 Фигуры и формы, используемые в подходе

👉 Стилизация компонент

В первом приближении, для того, чтобы сделать MVP вам даже дизайнер не нужен, достаточно следовать базовым принципам Material Design.
Как вы думаете, реально ли разрабатывать под #Android, не имея физического девайса? Я бы сказал да :) Для этого есть эмуляторы или как по-модному #AVD, которые раньше работали просто отвратительно, а сейчас вполне юзабельны.

Сейчас эмуляторы особенно неплохо работают с компами на базе Intel, а скорое Apple будет использовать процессоры от ARM, что может благоприятно сказаться на запуске AVD на маках. Но это не точно.

Описал вкратце как настроить и управлять эмулятором (если вы вдруг почему-то еще не в курсе).

А ты, используешь эмулятор в своей разработке (спойлер - я - да). https://bit.ly/3mJgE6H
Лучший способ понять что-то - попытаться объяснить это другому. Ведя проект droDev лично в этом убедился 😉

По-этому, если вы давно хотели разобраться в какой-то определенной теме про #Android разработку у меня к вам предложение.

Вы 👉 пишите небольшой туториал на интересную вам тему, будь то, к примеру

🚩 Верстка сложных экранов с помощью #ConstraintLayout
🚩 Переход между фрагментами с shared element
🚩 Любая интересная вам тема...

Я 👈 помогаю вам разобраться в теме, отвечаю на вопросы и вот это всё.

В итоге мы 🙌 публикуем всё это на https://dimlix.com/ под вашим авторством и делаем анонс в проекте droDev.

Интересно? Го в ЛС или пиши в комменты!
Всех с пятницей и хороших выходных!
Конфиденциальность пользователя - вот что интересует #Google (ну непосредственно доступа к ним самим 😅). Именно по этому изначально разрешения в #Android были все в манифесте.

Далее часть из них перекочевала в #Runtime #Permissions начиная с Android 6.0.

И сейчас, в Android 11 ожидаются небольшие изменения. Обо всем - в очередной статье в блоге. https://bit.ly/2S8mXSY
#Google в последнее время знатно радует разработчиков плюшками из #Android #Jetpack. К примеру те же #ViewModel и #LiveData - лично я уже слабо представляю как можно писать приложение без них 🙈

Вы ведь в курсе про эти два божественных компонента? Если вдруг нет, в кратце написал про них статью. https://bit.ly/3i8tUhv
Полезный скрипт, для того, чтобы почистить локальный Git от старых веток.

git branch --merged | grep -v '\*\|master\|develop\|rc/*' | xargs -n 1 git branch -d
Иногда полезно чистить Git от тех веток, которые уже замержены в ваши корневые бранчи, например в master, develop и rc/*. Сделать это можно следующим скриптом.

git fetch --prune |
git branch -r --merged |
grep origin |
grep -v '>' |
grep -v master |
grep -v develop |
grep -v rc/ |
sed -E "s|^ *origin/||g" |
xargs git push origin --delete
Благодаря поддержке Юлы, конференция #AppsLive 2020 стала бесплатной (но надо зарегестрироваться)!

Будем говорить например про #Jetpack compose от #Google, remote builds на #CI и другие крутые штуки, связанные с мобильной разработкой и не только.

Кстати, Юла – сервис объявлений, входящий в состав Mail.ru Group и обслуживаемый сотней серверов и несколькими дата-центрами. У ребят явно есть чем поделиться с их-то масштабами.

Apps Live 2020 пройдёт 21 и 22 октября и для участия необходимо зарегистрироваться 
https://appsconf.ru/moscow/2020
Люди делятся на две части:
- Кто делает резервные копии,
- Кто ЕЩЕ не делает резервные копии.

#Юмор
На удаленке и фрилансе иногда приходится работать в довольно шумной обстановке. Открыл для себя Krisp - виртуальный шумодав с #AI. На главной послушал демки с шумодавом и без - думал развод 😬 Ан нет, работает как и показывает, магия

https://ref.krisp.ai/u/u93c1e87da
#Фриланс #Инструменты
Опа, интересная статья, в которой четко разложили по полочкам с бенчмарками мифы, вида

 #Kotlin приложения тяжелее и медленные чем #Java
 Геттеры и Сеттеры - это дорого
 Лямбды медленнее inner классов

И многое другое, прямо с графиками, картинками.

#Статьи https://bit.ly/3lffiPr
#Android эмулятор на #CI через докер - это мощно.

Hint - если вам нужен исключительно контекст, например, для тестов, то для может быть вам подойдет #Robolectric.

#Тесты https://bit.ly/3nlxuJ7
#Kotlin matchers это просто праздник какой-то. #Тесты читаются как рассказ про мечты и надежды вашего кода.

#Код #Тесты
Любопытные "30 пунктов в программирование, познанные через боль".
Особенно нравится - "#UI - это как шутка. Если его надо объяснять - говно ваш UI".

#Статьи https://bit.ly/3lpL0cK
Вы же помните, что #Crashlytics от #Fabric теперь не от Fabric, а от #Firebase? И что он deprecated? И что надо до 15 ноября обязательно мигрировать 🙈

#Библиотеки