Несколько дней назад компания JetBrains в своём блоге рассказала о выходе нового инструмента для создания дескопных приложений Jetpack Compose Desktop. Компания с русскими корнями не особо жалует русскоязычную аудиторию и не спешит рассказать нам о новинке, поэтому возьму на себя роль популяризатора.
Разработчики под Android уже могли слышать про Compose, которая доступна в предварительной версии Android Studio 4.2. Я не любитель устанавливать бета-версии, поэтому не мог пощупать новую технологию своими руками. Но когда услышал новость про Compose Desktop, то не удержался и поставил себе IntelliJ IDEA Early Access Program.
Для начала я установил версию IDEA 2020.3, где уже есть все необходимые настройки и шаблоны.
Создаём новый проект и выбираем шаблон Desktop uses Kotlin 1.4.0. Минимальная версия Java SDK должна быть не ниже 11. Проверял на Windows 10, других платформ у меня нет.
Началось с небольшой детективной истории — разглядывая сайт Material Design, наткнулся на страницу Sliders. В описании говорилось, что данный компонент доступен для Android и даже дана ссылка на Гитхаб. Меня это немножко удивило, так как я ни разу о нём не слышал. Перехожу по ссылке — на Гитхабе говорится, что компонент пока находится в активной разработке и даны куцые примеры на Java. «В этих ваших интернетах» упоминания о Slider не нашёл. В официальной документации по библиотеке тоже нет никаких упоминаний.
Наверняка в последнее время вы слышали истории, как служба поддержки Google Play удаляет программы из магазина приложений, которые не соответствуют каким-то правилам. Иногда они перебарщивают, тогда разработчик начинает возмущаться и поднимать информационный шум. В некоторых случаях это помогает, но обычно сопротивление бесполезно.
Добавлю в копилку и свою историю.
Большинство ардуинщиков в России скорее всего используют китайские клоны оригинальной Arduino. Европейские цены не выглядят слишком аппетитными и не располагают к покупкам. Тем не менее сама компания Arduino довольно активно продвигает свою продукцию в развитых странах. Корпоративный блог активно пополняется новыми постами и две новости показались мне любопытными.
Есть определённая категория людей, которая хотела бы писать программы, но боится серьёзных языков программирования. К ним можно отнести детей, гуманитариев, любителей мастерить, людей старшего поколения и т.д. Кто-то пробует использовать «детские» языки типа Scratch или другие упрощённые конструкторы.
На мой взгляд, хорошим вариантом для изучения может стать Processing, который не так часто упоминается на Хабре.
Processing — это простенькая среда разработки с языком Java с ограниченным числом классов. Здесь есть переменные, циклы, объекты. В первую очередь Processing расчитан на работу с графикой, анимацией, вычислениями. То, что так нравится детям. Всё наглядно и красиво.
Если у пользователя появится желание перейти на новый уровень и начать использовать полноценный язык Java, то все наработки не пропадут даром. Большая часть кода не потребует переработки и можно свободно копировать больше участки кода.
Некоторое время назад я писал о смешном методе-проверке «А не козёл ли ты, пользователь?». Сегодня обнаружил ещё один забавный метод для новенькой Android 8.0.
Ярые фанаты Android знают, что в системе прячутся пасхалки. Не стала исключением и седьмая версия под названием Nougat. В ней можно активировать игру по сбору котов. Вам нужно изредка класть в пустую миску угощение и ловить пришедшего кота.
Сам процесс активации пасхалки подробно описан в блоге, здесь же я расскажу, что находится под капотом.
В канун Нового года многие забугорные сайты разразились статьями, в которых сообщалось о намерении Google отказаться от Java API, который является собственностью компании Oracle. На страницах Хабра/Гиктаймса не раз обсуждались судебные тяжбы между двумя IT-гигантами.
В конце концов, Гуглу надоело это положение вещей и они решили сделать следующий «финт ушами» — следующая версия Android N (7.0) уже пишется при помощи открытой OpenJDK.
Некоторое время назад я написал статью «Устраняем пробелы, изучаем Android», сделав обзор одной книги. Читатели в письмах попросили продолжить эту тему, раз уж я читаю всё подряд.
На этот раз я пройдусь по последней книге, выпущенной на российском рынке на данный момент — Android для разработчиков в 2015 году.
Неделю на Хабре бушуют страсти по программе Яндекс.Метро. Давно его не включал, решил посмотреть ещё раз. И вдруг поймал себя на мысли, что приложение раздражает меня.
Речь пойдёт не о пробелах в знаниях, но об этом чуть позже.
По старой привычке я по-прежнему читаю книги по программированию в бумажном варианте. В частности, про разработку под Android. Несколько лет назад с литературой по этой тематике на великом и могучем была напряжёнка. Сейчас положение немного выправилось. Я купил и прочитал, наверное, 99% всех выпущенных книг. Есть две проблемы с книгами. Первая — они однотипны в своей массе и рассказывают об одном и том же. Вторая проблема — значительная задержка в выпуске издания. Как правило, запаздывание происходит на 1-2 версии, что бывает достаточно критичным. Например, когда появились версии Android 3.0 и 4.0 с фрагментами, читать примеры создания приложений под Android 2.3 было глупо.
В далёком 2011 году вышла книга Android за 24 часа, которая, на мой взгляд, была одной из лучших. Мне понравился подход к раскрытию темы — брался один сквозной проект и постепенно усложнялся от часа к часу. Попутно объяснялись фундаментальные вещи на одном проекте. Было понятно, где и когда применять те или иные возможности.
На прошлой неделе случайно наткнулся в интернете на сообщение, что вышло новое издание с более длинным названием Создание приложений для Android за 24 часа с теми же авторами. И немедленно выпил купил.
В Android 4.2 (Jelly Bean) появился новый метод isUserAGoat (). Назначение этого метода достаточно туманно, в документации говорится «Used to determine whether the user making this call is subject to teleportations» — является ли пользователь, вызвавший данный метод, объектом для телепортации. Метод должен возвращать значение true, если пользователь — козёл. Но если взглянуть на исходники метода, то можно обнаружить, что метод всегда возвращал false.
В Android Studio появился интересный инструмент для быстрого прототипирования экранов активностей. Как говорят авторы на своей страничке — это пока только предварительная проба пера и данный инструмент ещё будет дорабатываться. Редактор может оказаться полезным как дизайнерам, так и начинающим разработчикам.
Я решил немного поиграться с редактором.
Меня всегда огорчало, что в Android не было синтезатора речи на русском. Изначально выбор языков был ограничен английским, испанским, французским, немецким и итальянским. Существовали отдельные коммерческие движки, а также производители могли добавить в свои устройства какой-нибудь движок с нужным языком, видимо договорившись с разработчиком. Но хотелось поддержки из коробки от самой «корпорации добра».
Просматривая ленту у себя в G+, наткнулся на сообщение, что в последней версии приложения Календарь на Android-устройствах используется новое диалоговое окно для выбора времени. Запустив приложение на своем планшете Nexus 7 с Android 4.3, я убедился, что это действительно так. Но меня как разработчика больше заинтересовала фраза, что исходный код диалогового окна доступен по адресу https://android.googlesource.com/platform/frameworks/opt/datetimepicker/+/master/. Я решил поковыряться just for fun.
У меня дома моноблок Aser Aspire с сенсорным монитором. В принципе, я не пользуюсь жестами на своем компьютере, так как сижу достаточно далеко от монитора — чуть дальше расстояния вытянутой руки. Но жизнь внесла свои коррективы.
В твиттере увидел сообщение: Hello! Halo! Hai! Cześć! Привет! 你好! Dropbox now speaks six more languages! ow.ly/jXdDs
Перешел по ссылке и увидел объявление, что Dropbox теперь говорит на новых шести языках, в том числе и на русском.
Захотел поставить. Щелкнул правой кнопкой мыши в трее по значку программы и увидел, что у меня уже стоит русская версия с номером 2.0.6. Самое смешное, что еще пятнадцать минут там была версия 1.06.18. Специально каждый день смотрел, ждал, когда автоматически обновится до новой версии 2, о которой писали недавно на Хабре.
Практически одновременно с объявлением о выходе новой версии Android 4.1 (кодовое имя Jelly Bean) на сайте разработчиков обновились инструменты разработки под Android — Android SDK Tools, Revision 20. Изменения оказались очень значительными, можно сказать, революционными. Так как не понаслышке знаю, что многие кодеры не спешат обновлять свои инструменты, то расскажу и покажу в картинках о новинках. Заодно расскажу о подводных камнях, с которыми я сам лично столкнулся, и о способах их решения.
Совсем недавно я публиковал топик, в котором рассказывалось о коде, который работал в Android 2.3, но перестал работать в Android 4.0. Несколько человек написали лично на почту, поблагодарили за информацию и просили продолжить подобные публикации. На этот раз поговорим об ActionBar. У одного пользователя возникла проблема с кодом, который работал на Android 3.0, но опять перестал работать на Android 4.0.