[it_note] #05 Android? Нет, Arduino!
[it_note] #04 Jetpack Compose: серебрянная пуля UI
🟡 Уже продолжительное время Google JetBrains продвигает Jetpack Compose как современное (уже даже стандартное) решение для написания UI элементов в Android разработке. Сейчас стремительно развивается подход KMM KMP (почему это больше подход с инструментами, а не полноценный фреймворк как Flutter - можно кратко ознакомиться по ссылке ниже) 🟡 Поэтому Compose не стоит на месте, а развивается и набирает свою мощь! Уже сегодня Вы можете выбрать платформы, на которых можно поделиться своим UI...
[it_note] #03 Android разработка: 4+1 ресурса для изучения
⚪️ За довольно продолжительное время изучения Android разработки с 0 я перепробовал множество ресурсов. Это были и курсы (платные, бесплатные), и просто поиск в интернете, и чтение книг и документации, и обучение от компании с ментором (это топ🔥). Сегодня я хочу поделиться некоторыми источниками информации, зная о которых с самого начала, можно было быстрее втянулся в разработку. Это будет не топ с оценками и местами, а список ресурсов в зависимости от сложности понимания от более простых и понятных большинству, до более сложных и предназначенных для опытных разработчиков...
[it_note] #02 ОС Rosa Mobile vs ОС Аврора
В июле месяце появилась информация о выходе уже ЭТОЙ ОСЕНЬЮ смартфона на базе ОС Rosa Mobile. Но есть один момент... практически никто о ней не слышал, вообще. Один из известных мобильных разработчиков и блогеров - Алексей Гладков (автор канала Mobile Developer) так прокомментировал данную новость: на что я обратил внимание - это очень громкий анонс за которым по сути ничего нет. Это очень плохое понимание маркетинга - потратить свой шанс попасть в медиа на то, чтобы сделать анонс анонса. Ведь сам телефон нельзя ни пощупать, ни оценить...
[it_note] #01 Warning: Kotlin – вызывает привыкание🍬 В преддверии выхода Kotlin 2.0 давайте расскажу, как я перешёл на данный язык и сделал его одним из основным в качестве изучения. За свою жизнь я изучал в той или иной мере несколько языков. В школе я начинал с Basic, Visual Basic, Turbo Pascal и считал это вершиной компьютерного искусства от осознания того, что я могу самостоятельно писать программы - консольные или вот, прямо на экране моего монитора. В старших классах нам “завезли” С++, его тоже потрогал. Синтаксис новый, но главное осталось неизменным – общая логика работы программы. Дальше – вышка. Тут нахлынул поток новых языков от HTML, JavaScript и вышеупомянутого C++ до Python и даже sh (bash). К слову, на «баше» написана часть моего дипломного проекта по развертыванию облака для вычисления BigData на базе OpenStack на ОС AstraLinux, ой это уже совсем другая история))… Но, когда я года 3 назад начал погружаться в android-разработку, пришлось поднимать основы Java – для меня совершенно новый язык программирования. В целом похожий на все предыдущие, но с собственными синтаксическими особенностями (особенно после «ласкогового» Python). Все курсы и много документации (как я понял теперь - легаси) говорили, что нужно знать Java! это основы android-разработки. Так я и учил. (советую посмотреть видео Алексея Гладкова - «Что учить новичку в Android: Java vs Kotlin?» 👍) После Java начал изучать Kotlin и сразу в него влюбился. Простыми словами мне он понимался как если в миксер кинуть Java и Python, то на выходе получится Kotlin.) Он был очень похож на Java, но в тоже время имел лёгкость написания от Python, поэтому он давался легче. Синтаксический сахар – one love. Так же подкупило, что он был разработан в России и Google сделал его основным языком для android-разработки – маленькая гордость. Ещё очевидным плюсом Kotlin то, что он постоянно развивается. Сначала Kotlin догонял Java, а теперь Java пытается, что-то урвать от Kotlin (пример в моей предыдущей заметке про разность var). Выходят новые версии, расширяется область платформ, на которые можно писать на Котлине. Это и бэк (Ktor), и МУЛЬТИПЛАФОРМЕННОСТЬ (привет KMM, или точнее KMP – Kotlin Multiplatform). Поэтому изучать его уже сейчас (а лучше ещё вчера) – считаю очень перспективным занятием. До конца 2023 года должен выйти Kotlin 2.0 с K2 компилятором, который должен повысить эффективность работы кода и скорость сборки проектов, ну и просто быть лучше во всём, особенно для разработки под KMM. 🔵 Вывод Про Kotlin можно много говорить, что он автоматически приводит типы, и что не надо ставить «;» в конце строки, и про Null-safety и многое-многое другое, но его силу и перспективность можно понять, буквально прикоснувшись к его изучению. А когда откроете для себя мир KMP – то это будет непередаваемые ощущения. ✍️Пишите в комментариях, на каком языке Вы начинали писать под Android? Всем, Happy Kotlin!)😊 🟢 Источники для изучения: 1) kotlinlang.org/...tml 2) kotlinlang.ru 3) developer.android.com/...rse 4) developer.android.com/...lin 5*) kotlinlang.org/...tml #Kotlin #Java
[it_note] #00 var foo [Java] == var foo [Kotlin] ? С Java 10 в язык было добавлено ключевое слово (ну не совсем ключевое слово) var, но так же ли оно работает как в Kotlin? Давайте взглянем чуточку подробнее. В [Kotlin] ключевое слово var применяется для создание изменяемой переменной (в отличие от val). Примеры использования: > var x: String = "Мысли Mys_ya" > var y = 42 // в kotlin работает автоматическое привидение типов при создании переменной; В языке [Java] при создание переменных надо было всегда указывать тип переменной: > int x = 42; Но, начиная с версии 10, в языке появилось такое понятие как Local Variable Type Inference (LVTI) - выведение типа локальной переменной - это есть ключевое слово зарезервированное имя типа var в Java. При использовании в таком виде: > var x = 42; // Int var становиться вместо типа данных, т.е. теперь в java при создании переменных необязательно явно указывать тип данных. Но в это случае надо обязательно проводить инициализацию - так тип переменной выводиться (присватывается) не явно, а из того значения, которое ей присватывается. > var x; // не сработает > int x; // сработает Да, Java в android разработке сейчас используется мало, но знать такие нюансы - довольно интересно.) Пишите в комментарии, знали ли Вы о таком? Стоит ли развить тему LVTI более полно? #kotlin #java --- --- --- Назовём это "проба пера" в написании it-заметок. Примерно в таком коротком формате на разные темы буду появляться посты на моём канале. Если будет определенное количество вопросов/запросов по какой-либо заметке, то постараюсь написать статью на Дзен (в Дзен пост (короткая запись) и статья (длинная запись с возможностью форматирования) это разные форматы). Иногда буду сам выбирать, в чём бы мне хотелось разобраться подробнее и посвятить этому статью (спойлер, первая на очереди работа с exif данными файла).