Я Ruby-программист. Язык почему-то теряет популярность, несмотря на своё интенсивное развитие. Лично я ему альтернатив [для себя] не вижу (Elixir и Crystal сейчас обсуждать не будем), поэтому готовясь к очередному собеседованию, решил составить шпаргалку с вопросами и ответами по Ruby. Шпаргалка за время подготовки превратилась в Android-приложение, которые я всегда хотел научиться делать, и о котором расскажу.
Дисклеймер: для профессионалов мобильной разработки в статье не будет ничего нового, это рассказ о том, как я столкнулся с разработкой под Android впервые в жизни.
Изучать Kotlin / Java я не стал. Близкий моему сердцу C# имеет технологию Xamarin, но, как пишут, у неё не всё так удобно в части создания интерфейсов, как хотелось бы. Поэтому было решено сделать шпаргалку на HTML / CSS, и обернуть в приложение с помощью Apache Cordova. В качестве CSS-фреймворка я рассматривал такие варианты: Bootstrap, Phonon, Framework7. Первые два показались неудобными, остановился на последнем.
Framework7 понравился тем, что ориентирован на создание мобильных интерфейсов (Android / iOS / своя тема Aurora), заявлена интеграция с Cordova, предлагает много разных виджетов, и обеспечивает высокий уровень контроля за функционалом с помощью JavaScript (поддерживает Vue.js и прочие, мне хватило старого доброго jQuery).
Дальше пошла работа по составлению самой шпаргалки, использовались разные открытые источники с вопросами по Ruby. К моему удивлению, таких источников нашлось совсем немного, а источников с толковыми вопросами и ответами - ещё меньше. Отобранные вопросы и ответы были разделены на тематические разделы, завёрстаны в HTML (с помощью автогенерации конечно, написанной на Ruby), и снабжены семантическим форматированием (выделения ключевых слов, примеры кода и т.д.).
Приложение было задумано как бесплатное, потому что мне ужасно ненравится навязчивая реклама в виде баннеров и невовремя открывающихся окон с дурацкими видео. При этом хотелось оставить возможность сделать donation, если кому-то захочется. Я добавил три кнопки: PayPal (он предлагает удобную ссылку для донейтов), Bitcoin, Etherium.
Кнопка PayPal открывала ссылку в браузере с формой ввода, но, как выяснилось, это нарушает правила Google Play - для любых платежей можно использовать только встроенные механизмы, с которых, конечно, компания забирает себе определённый процент. Поэтому от доната через PayPal пришлось отказаться.
Остались две кнопки - Bitcoin и Etherium (это правила Google не нарушает). При нажатии кнопки адрес кошелька копируется в буфер, достигается это с помощью установки плагина cordova-clipboard и нехитрого JS:
cordova.plugins.clipboard.copy(ethAddr)
Дальше нужно было создать хранилище ключей с помощью Android Studio и собрать приложение командой
cordova build android --release -- --keystore=./keystore/keystore.jks --storePassword=*** --alias=key0 --password=*** --packageType=bundle
Старый формат APK больше нельзя загрузить в Google Play, поэтому надо указать packageType=bundle (получается application bundle с расширением aab).
Казалось бы, всё, работа завершена, релиз собран. Но не тут то было! Для размещения приложения в Play Market нужно сделать его скриншоты (для трёх типов устройств: телефон, планшет 7 дюймов, планшет 10 дюймов), подготовить большую иконку (512х512 пискелей) и ещё баннер размер 1024х500.
Скриншоты легко делаются с помощью эмулятора, там всё просто и удобно. А вот откуда мне взять графические файлы? Я с детства плохо рисую, так и не научился. Решил заказать эту часть работы на стороне.
Сперва пару дней общался на Авито, объявлений по фразе "графический дизайнер" там очень много, но найти адекватного человека не удалось. Получался какой-то сплошной невменоз: девушка, сначала показавшаяся очень профессиональной, пообещала представить первые результаты через час, и пропала совсем (две недели прошло, так и не ответила), молодой человек нарисовал жуткий эскиз карандашом на бумаге, и т.д.
Поэтому решил попытать счастья на YouDo, разместил там заказ. Откликнулись всего двое, договорился, быстро и качественное всё нарисовали, и рассчитались. Картинки были готовы за день, цена работ была указана 600 р. (я перевёл чуть больше).
Теперь точно всё, вся необходимая информация загружена в Google Play Console, программа прошла ревью и доступна к скачиванию. Но найти её по названию пока нельзя (хотя название уникально), потому что она не раскручена. Можно скачать по прямой ссылке.
Дисклеймер: для профессионалов мобильной разработки в статье не будет ничего нового, это рассказ о том, как я столкнулся с разработкой под Android впервые в жизни.
Изучать Kotlin / Java я не стал. Близкий моему сердцу C# имеет технологию Xamarin, но, как пишут, у неё не всё так удобно в части создания интерфейсов, как хотелось бы. Поэтому было решено сделать шпаргалку на HTML / CSS, и обернуть в приложение с помощью Apache Cordova. В качестве CSS-фреймворка я рассматривал такие варианты: Bootstrap, Phonon, Framework7. Первые два показались неудобными, остановился на последнем.
Framework7 понравился тем, что ориентирован на создание мобильных интерфейсов (Android / iOS / своя тема Aurora), заявлена интеграция с Cordova, предлагает много разных виджетов, и обеспечивает высокий уровень контроля за функционалом с помощью JavaScript (поддерживает Vue.js и прочие, мне хватило старого доброго jQuery).
Дальше пошла работа по составлению самой шпаргалки, использовались разные открытые источники с вопросами по Ruby. К моему удивлению, таких источников нашлось совсем немного, а источников с толковыми вопросами и ответами - ещё меньше. Отобранные вопросы и ответы были разделены на тематические разделы, завёрстаны в HTML (с помощью автогенерации конечно, написанной на Ruby), и снабжены семантическим форматированием (выделения ключевых слов, примеры кода и т.д.).
Приложение было задумано как бесплатное, потому что мне ужасно ненравится навязчивая реклама в виде баннеров и невовремя открывающихся окон с дурацкими видео. При этом хотелось оставить возможность сделать donation, если кому-то захочется. Я добавил три кнопки: PayPal (он предлагает удобную ссылку для донейтов), Bitcoin, Etherium.
Кнопка PayPal открывала ссылку в браузере с формой ввода, но, как выяснилось, это нарушает правила Google Play - для любых платежей можно использовать только встроенные механизмы, с которых, конечно, компания забирает себе определённый процент. Поэтому от доната через PayPal пришлось отказаться.
Остались две кнопки - Bitcoin и Etherium (это правила Google не нарушает). При нажатии кнопки адрес кошелька копируется в буфер, достигается это с помощью установки плагина cordova-clipboard и нехитрого JS:
cordova.plugins.clipboard.copy(ethAddr)
Дальше нужно было создать хранилище ключей с помощью Android Studio и собрать приложение командой
cordova build android --release -- --keystore=./keystore/keystore.jks --storePassword=*** --alias=key0 --password=*** --packageType=bundle
Старый формат APK больше нельзя загрузить в Google Play, поэтому надо указать packageType=bundle (получается application bundle с расширением aab).
Казалось бы, всё, работа завершена, релиз собран. Но не тут то было! Для размещения приложения в Play Market нужно сделать его скриншоты (для трёх типов устройств: телефон, планшет 7 дюймов, планшет 10 дюймов), подготовить большую иконку (512х512 пискелей) и ещё баннер размер 1024х500.
Скриншоты легко делаются с помощью эмулятора, там всё просто и удобно. А вот откуда мне взять графические файлы? Я с детства плохо рисую, так и не научился. Решил заказать эту часть работы на стороне.
Сперва пару дней общался на Авито, объявлений по фразе "графический дизайнер" там очень много, но найти адекватного человека не удалось. Получался какой-то сплошной невменоз: девушка, сначала показавшаяся очень профессиональной, пообещала представить первые результаты через час, и пропала совсем (две недели прошло, так и не ответила), молодой человек нарисовал жуткий эскиз карандашом на бумаге, и т.д.
Поэтому решил попытать счастья на YouDo, разместил там заказ. Откликнулись всего двое, договорился, быстро и качественное всё нарисовали, и рассчитались. Картинки были готовы за день, цена работ была указана 600 р. (я перевёл чуть больше).
Теперь точно всё, вся необходимая информация загружена в Google Play Console, программа прошла ревью и доступна к скачиванию. Но найти её по названию пока нельзя (хотя название уникально), потому что она не раскручена. Можно скачать по прямой ссылке.
Ruby Interview Questions
Я Ruby-программист. Язык почему-то теряет популярность, несмотря на своё интенсивное развитие. Лично я ему альтернатив [для себя] не вижу (Elixir и Crystal сейчас обсуждать не будем), поэтому готовясь...
habr.com