10 шагов, чтобы стать Android разработчиком ч. 2
Продолжаем двигаться по нашему плану развития Android разработчика. Следующий пункт относится к языку Kotlin.
Предыдущую часть и сам план можно посмотреть по ссылке
3. Изучить язык Kotlin.
Если вы начнёте искать учебные материалы по Android разработке, то заметите, что все они про язык программирования Kotlin. Язык был одобрен Google как основной для мобильной разработки, и поэтому это будет ваш основной инструмент. Если до этого пункта вы уже успели освоить Java, то изучение основных принципов языка Kotlin для вас будет не проблема. Я за выходные прочитал вот эту книгу: Head First. Kotlin и уже мог что-то писать на Kotlin. Книгу при желании можно бесплатно скачать в электронном виде, но лично я решил её купить. Вид книги на полке как бы настраивает тебя на продолжение практики, плюс бумажные книги всегда приятнее читать. Практиковаться вы будете на следующем пункте, при создании мобильных приложений. Главное - понять основные принципы языка и периодически подглядывать в книгу, когда какой-то код вам покажется непонятным. Практику из книги выполнять не нужно.
Если так случилось, что вы решили не следовать предыдущему пункту, а начали именно с этого языка ваш путь разработчика, то для изучения языка я вам рекомендую курсы создателей языка hyperskill Плюсы и минусы курса вы можете почитать в предыдущей статье. В нём изучается голый Kotlin без привязки к мобильной разработке. Возможно, на данном ресурсе курс мобильной разработки с языком Kotlin появится позже. Сами курсы на момент написания статьи бесплатные, т.к. находятся на стадии бета-тестирования. Их я начинал проходить для ознакомления, и прошёл где-то 30 процентов. Курсы мне очень понравились. Там также есть возможность автоматически проверять задания, поэтому вы можете сами планировать скорость прохождения курсов. Другие ресурсы по изучению Kotlin я не тестировал, но думаю, - там работают те же принципы, что и при изучении языка программирования Java, - продавец курсов не главное, главное - это хороший преподаватель.
4. Освоить Android Studio с применением языка Kotlin.
Когда я сам дошёл до этого пункта, я решил начать изучение с книг, уж больно мне понравилась серия книг про программирование Head First. И в этой серии как раз-таки была книга Head Firsе Android. Я нашёл эту книгу в электронном варианте и начал погружаться в мир Android. Прочитав где-то 20 процентов книги и делая очередное практическое задание оттуда, я заметил, что мой код не работает. Какая-то функция из какой-то библиотеки выдавала ошибку. Я начал искать подобную проблему в интернет и узнал, что не один я такой, кто занимался таким же способом, по книге. Я попал на сайт overflow, где на данную проблему ответили, что библиотека обновилась, и названия методов также обновились. Так я впервые узнал, что Android разработка очень быстро меняется и те способы решения определённых задач, которые описаны в книге, могут уже не использоваться, т.к. устарели. В то же время я заметил, что когда ты ищешь какие-либо решения по Android разработке, то почти всегда в свежих записях используется Kotlin, а не Java. А книга Head Firsе Android подразумевала разработку именно на языке Java. Меня это смутило, и я решил, что мне нужна более новая книга, и чтобы там было обучение с использованием языка Kotlin.
После непродолжительных поисков я узнал об одной из самых популярных книг по Android программированию на русском языке: Android. Программирование для профессионалов Четвёртое издание этой книги использовало примеры на языке Kotlin. Но через какое-то время я снова столкнулся с той же самой проблемой, - часть написанного кода в книге уже устарела. Плюс ко всему мне не нравился тот факт, что, делая задания из книг, ты не знаешь, насколько грамотно ты всё сделал. Некому проверить твои домашние задания. Я понял, что книги можно использовать только как дополнительный источник знаний, т.к. Android разработка слишком быстро развивается.
Разочаровавшись в книгах, я начал искать другие способы освоить Android Studio. Я смотрел в сторону разных курсов: как платных, так и бесплатных. В какой-то момент я наткнулся на курс Udacity от Google. Мне подумалось тогда, что если курс от самих Google, то там наверняка будет самая актуальная информация на текущий момент, т.к. все изменения в библиотеках и способах разработки создаются с помощью Google. К сожалению, курс стоил 400$ и не имел пробного периода. Но мне повезло: когда я через неделю снова зашёл посмотреть курсы на Udacity, на этом курсе было написано, что первый месяц подписки будет бесплатным. Я, конечно же, воспользовался такой возможностью, а потом на сайте курса мне было предложено проходить его за 100$ в месяц, и я решил согласится, т.к. курс мне очень понравился.
Теперь перечислю плюсы и минусы курса:
+ на курсе самая актуальная информация по андроид-разработке, и она постоянно обновляется;
+ в конце каждого раздела даётся задание на создание приложения, которое должно использовать технологии, пройденные в разделе. Эти приложения можно загружать в GitHub и в дальнейшем демонстрировать работодателю. Я считаю, что наличие кода, который можно показать работодателю, - очень важно для начинающего разработчика;
+ задания, которые даются в конце каждого раздела, проверяет живой человек, и если что-то не так в вашем коде, то он пишет вам об этом и просит переделать;
+ Вы можете проходить курс в удобном для вас темпе;
+ В курсе очень хорошо подаётся материал. И если чего-то не понял в видео, то можно прочитать его текстовый вариант. Текстовый вариант — это не перевод речи из видео в текст. Это объяснение темы, другими словами;
- В каждом разделе разные преподаватели, которые читают лекции в видео. Это плохо тем, что некоторые чуть похуже объясняют, чем другие. Поэтому не забываем пользоваться текстовым вариантом курса;
- Курс на английском языке. В курсе есть как видео, так и дублирующие видео текстовые версии. Видео даётся с Youtube, а это значит, что можно выводить субтитры и переводить их с помощью встроенных возможностей Youtube. Текст же переводится встроенным в браузере переводчиком (мне показалось, что Yandex браузер переводит лучше Google Chrome);
- Курс, по мне, стоит дорого, если брать его без скидки. Если бы не скидка, я бы не мог себе его позволить. 400$ - это реально дорого, тем более, если вы работаете и проходите курс, то вы можете потратить на него полгода или даже больше.
На данный момент я дошёл где-то до половины курса. В конце курса нужно будет сделать большой проект, который охватывает все знания, полученные на курсе. После сдачи проекта, если всё нормально, то выдаётся сертификат о прохождении курса. На данный момент на курсе нет бесплатного пробного первого месяца, но надписи на сайте намекают, что скидку всё-таки возможно выпросить.
Во время прохождения курса, я нашёл бесплатный текстовый курс на сайте anroid.development. Я обратил внимание, что курс структурирован таким же образом, как и мой платный курс, только в текстовом виде и без заданий, которые проверяются живыми людьми. Сам курс находится по этой ссылке. Там даже примеры даны такие же, как на моём курсе от Udacity. Я считаю, что данный курс может полностью заменить тот платный, на котором я занимаюсь, единственный важный момент: в конце каждого раздела вам самим нужно будет придумывать себе задания, используя те знания, которые вы прочитали. И так после каждого раздела. Иногда, когда я смотрю видео курса Udacity, и мне кажется, что ведущий непонятно объясняет, я захожу на текстовый курс и уже оттуда изучаю тему. Есть несколько причин, по которым я до сих пор занимаюсь на платном курсе: это возможность сдать задание на проверку, получение сертификата в конце и, конечно, факт, который стимулирует меня заниматься более активно - трата денег на курс.
Хочу отметить, что данные статьи не являются рекламой каких либо курсов. Я просто описываю свой опыт обучения. Я мог бы написать с таким же успехом и про другие курсы, но у меня не было опыта их прохождения. Так что, если вам кажется, что вы знаете лучший способ обучения, то, возможно, это так и есть. Каждый человек индивидуален, но, если вы нашли полезной ту информацию, которую я тут пишу, то обязательно ставьте лайк и подписывайтесь.
В следующей статье я продолжу более подробно рассматривать путь Android разработчика и мои планы по поводу трудоустройства. Не пропустите.
Оригинал статей на dzen: Android Head First
10 шагов, чтобы стать Android разработчиком
Решил скопировать pikabu свою статью с dzen. Вдруг она тут тоже кому то пригодится.
План развития Android разработчика. С чего начать, и как найти работу.
Всем привет, меня зовут Сергей, и я начинающий Android разработчик. В этой статье я расскажу про свой план развития как Android разработчика, возможно, он кому-то будет полезен. Свой путь я начал в марте прошлого года и по мере получения определённых знаний я менял свой план развития в соответствии с опытом. Конечная цель плана - это устроиться на работу без коммерческого опыта разработки. Тут описан именно мой план, возможно, он вам не подойдёт. Если у вас есть какие-то замечания или предложения, - пишите их в комментариях к этой записи.
1. Захотеть стать Android разработчиком.
2. Изучить язык Java.
3. Изучить язык Kotlin.
4. Освоить Android Studio с применением языка Kotlin.
5. Изучить основные библиотеки, которые чаще всего используются.
6. Сделать несколько проектов для портфолио и загрузить их в GitHub (выполняется параллельно с пунктом 5).
7. Выучить ответы на вопросы, которые чаще всего задаются на собеседованиях.
8. Заполнить профиль в HeadHunter и начать ходить на собесы.
9. Успешно пройти собеседование.
10. Начать работать.
Теперь разберём каждый пункт по порядку:
1. Захотеть стать Android разработчиком.
Без желания очень трудно заставить себя что-то делать. Программирование должно вам нравиться, - иначе вам будет трудно себя заставить заниматься этим каждый день. Первое время, конечно, вы сможете себя заставлять, но позже вы под различными предлогами будете отлынивать от занятий. Программирование — это не просто, но если сам процесс, а особенно его результат, вам нравится, то вам даже не нужно будет себе напоминать заниматься, вас самих будет тянуть к этому процессу. Поэтому хорошо подумайте, - действительно, это то, чем вы хотите заниматься?
2. Изучить язык Java.
Почему нужно начать изучение именно с Java? На мой взгляд, если начинать изучение сразу с языка Kotlin, то некоторые вещи новичками будут непонятны, т.к. в Kotlin очень много сокращений, и из-за этого возникают определённые трудности для новичков. Также Java прост для понимания принципов ООП. В общем, как первый язык - очень рекомендую, тем более, если ваша цель - мобильная разработка. Язык до сих пор встречается во многих вакансиях, и знать его очень желательно. Это повысит наши шансы на трудоустройство в будущем.
Изучение языка советую начинать с популярной книги Head First Java. При желании можно найти и скачать электронную версию. Саму книгу я прочитал, но задания оттуда не делал (слишком много опечаток).
Книга — это хорошо, но без практики никуда. Для практики есть два таких замечательных ресурса: это JavaRush и hyperskill Лучший вариант, по моему опыту, - это читать книгу и параллельно проходить один из этих курсов. Рассмотрим плюсы и минусы двух этих платформ.
JavaRush:
+ много практических задач
+ курс на русском
+ есть сообщество студентов, готовых помочь
+ подписка на год стоит недорого, если по скидке
+ для нужд андроид разработки достаточно изучить первые 20 уровней
+ занимаешься в удобном для тебя темпе
+ есть автоматическая проверка заданий
- курс платный
- часто задачи гораздо сложнее, чем примеры, которые были даны при объяснении темы (поэтому теорию лучше брать из книги)
- в больших проектах очень мало самостоятельности, тебе буквально пишут, что и где тебе создавать
- много устаревшей информации
Hyperskill:
+ самый главный плюс, по реферной ссылке вы получите 2 месяца бесплатно, если выполните один проект получите ещё два месяца бесплатно. Если не успели за 4 месяца пройти, регистрируйте новый аккаунт и снова 4 месяца.
+ вы можете пропускать темы, которые уже знаете. Для этого выполните тестовое задание по теме и, если ответ верный вы её пропустите. Даётся три попытки. (полезно если вы не успели пройти курс за 4 бесплатны месяца и создали новый аккаунт)
+ много практических задач
+ есть сообщество студентов
+ практические задачи не сложнее тех, что даны в примерах теоретического материала
+ перед изучением выбираешь проект, который будешь делать, и тебе дают именно те темы для изучения, которые необходимы для его завершения
+ курс создавала компания JetBrains (русские программисты, создатели языка Kotlin)
+ проходить курс можно без книги, т.к. теория написана очень грамотно
+ информация обновляется разработчиками
+ занимаешься в удобном для тебя темпе
+ есть автоматическая проверка заданий
- курс платный
- курс на английском языке (Если не знаете английский, то переводите прямо в браузере. Перевод очень хороший, проблем с изучением по переведённому тексту у вас не возникнет.)
Сам я изучал Java на JavaRush, но про Hyperskill я тогда ничего не знал. Если бы сейчас начал снова изучать Java с нуля, то выбор несомненно пал бы на Hyperskill. Очень грамотно составлена теория и задачи. Начинал проходить их курс по Kotlin и очень всё понравилось.
Напишу сразу тут, что я думаю про различные платные курсы, которые я не буду называть, потому что их огромное количество, но, наверняка, вам уже попадалась реклама. Я считаю, что на таких курсах можно получить знания, но многое зависит не от самой компании, которая продаёт курсы, а от преподавателя. Если вам попадётся плохой преподаватель, то вы просто зря потратите деньги. Так же недавно появились курсы Java на Яндекс практикум, я начинал проходить бесплатную часть, и, вроде как, мне понравился процесс, но очень дорого для меня, плюс напрягает, что заниматься ты будешь по графику, а значит, - можно не уложиться в срок. Мне больше нравятся курсы с автоматической проверкой заданий, где не нужно спешить, и сам составляешь себе график обучения.
Спасибо, что дочитали до конца. В следующих статьях мы более подробно рассмотрим остальные пункты моего плана становления Android разработчика. Сам я остановился на пункте номер 6, но уже скоро приступлю к пункту 7 и 8 (буду ходить на собесы).
Подписывайтесь, чтобы не пропустить продолжение. А если поставите лайк или дизлайк, то мне тоже будет приятно.
Оригинал статей на dzen: Android Head First
Поиграем в бизнесменов?
Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.
Арифметрис. Итоги за два месяца, нововведения и планы
Картинка с Киану гипотетическая и отражает моё отношение к положению дел. На самом деле, играл он в Арифметрис или нет, мне не известно.
Почти два месяца назад я опубликовал Арифметрис в Гугл плей. За эти два месяца я узнал много нового. Того, что стоило бы знать до того, как я опубликовал его. В первую очередь, это касается того факта, что заниматься продвижением игры нужно начинать до её публикации, потому что первые дни после публикации самые важные и могут вывести игру в топ новых. Наверное, самая интересная информация, которой я могу поделиться, касается денег. За два месяца Арифметрис не заработал и половины доллара. Так что вторая и третья очень важная вещь, которые я не учел: нужно было продумать монетизацию заранее и побеспокоиться и привлечении людей в игру. Просто так откопать Арифметрис в Гуглплее нереально, только если искать конкретно по названию. На текущий момент я переписал описания на английском и русском языках, добавив как можно чаще фразу "головоломка с числами". Пока не знаю, будет ли от этого какой-либо толк, потому что сделал буквально вчера. Есть много разных сервисов для отслеживания позиций по ключевым словам и прочими полезными функциями, в которых я еще только начал разбираться. Я попробовал недорогие методы привлечения аудитории, такие как посты у блогеров. Потрачено на продвижение: 900 рублей за пару постов. Плюс было пару публикаций от знакомых с раскрученными аккаунтами. Ну и прошлый пост на пикабу. В котором даже не было ссылки на игру, так что в конце этого обязательно оставлю. Интересно получить обратную связь. В любой случае, как видно по результатам, толку от этих мероприятий особо не было.
Текущий скриншот из консоли GPlay.
Сегодня гугл одобрил крупное обновление, приносящее в игру многие изменения. Поэтому я и решил запилить пост о предварительных результатах. Будет интересно посмотреть, изменит ли это что-то. Во-первых алгоритмы полностью переработаны. Теперь в игре 5 уровней сложности, все они играбельны. Сложность увеличивается более плавно и честно. Основным изменением стало то, что числа для операций теперь гораздо меньше и медленнее набирают свои значения. А в качестве усложняющего элемента, призванного разнообразить и сделать игру веселее, я добавил различные блоки. Пока они только трех типов, но я планирую добавлять еще. А кроме того, ввести различные бонусы. Новые блоки бывают ледяные, закрепленные и скрытые. Ледяные блоки нельзя активировать, пока лёд не будет полностью разбит. Лёд повреждается при ударе блоком сверху или при падении самого замороженного блока и бывает в трех состояниях: целый, треснутый, почти развалившийся. После уничтожения льда, блок становится обычным. Закрепленные блоки не падают с того места, где находятся. Они наиболее опасны, когда наверху. Скрытые блоки не показывают своё значение, пока их не активирует игрок. При этом, если убрать с них выделение, они снова скроют своё значение через некоторое время. Тут либо запоминать, либо каждый раз проверять. У меня еще много идей о введении новых блоков и том, как вводить их в игру постепенно, не вываливая на игрока сразу кучей. Однако, если кому-то захочется играть в классическую версию, без новых блоков, это можно сделать, включив соответствующую опцию в меню.
Новые блоки: закрепленный, ледяные в трёх состояниях и скрытый.
Новые блоки внесли разрозненность в графический стиль и я еще на перепутье: либо привести всё к более плоскому виду, как было изначально, либо наоборот, делать более детально, как лёд сейчас. В целом, по субъективному мнению моих друзей, а по совместительству тестировщиков, играть стало гораздо интереснее и приятнее. Так что я надеюсь, что этот курс верный. Это подталкивает меня запустить рекламу своей игры. Так что я сделаю это как только закончу работу над промо видео и графической рекламой. О результатах отпишусь по итогам. Очень важная вещь для мотивации на установку игры — скриншоты и иконка. Я не могу придумать как сделать честные и интересные скриншоты в такой игре как Арифметрис, а обманывать игроков добавляя всякую левую чушь, как делают многие издатели, не хочу. Может у вас возникнут какие-нибудь идеи? Я был бы рад услышать чужое мнение на этот счет. Иконку я переделывал несколько раз и последнюю залил вчера, приурочив её к выходу крупного обновления. Мне кажется, что этот вариант хорош и однозначно гораздо лучше, чем было.
Эволюция иконки: первоначальный, предыдущий и самый свежий варианты.
В качестве экспериментального способа монетизации я сделал две плашки, позволяющие расширить игровое поле за просмотре рекламы. Не уверен на сколько это правильно. Вполне возможно, что игроков это только разозлит. Плашки не активны, пока не наберешь определенное число очков. В следующем обновлении я планирую добавить внутриигровую покупку пожизненного отключения ЛЮБОЙ рекламы в арифметрисе. Так что эти плашки будут расширять поле просто при достижении определенного числа очков. Надеюсь получить обратную связь от игроков по этой функции. Возможно появятся идеи, как это сделать лучше. Может стоит вместо этого просто давать второй шанс при проигрыше, полностью очищая поле от всех блоков за просмотр рекламы, например. Или можно добавить в игру бонусы, которые можно купить, добывая внутриигровую валюту из блоков или просмотрев рекламку. Приятель купил две лицензии в Spine — программа для 2D анимации. Не смотря на то, что лицензия базовая и не поддерживает обратную кинематику и меши, она крутая. Я сделал несколько простых анимация в нём, в том числе большие кнопки и глаза для скрытых блоков и хочу сказать, что это было удобнее, чем в Adobe Animate. Так что зря я говорил, что без расширенной лицензии Spine не нужен, прости, Андрей, я был не прав. Очень рекомендую.
На скриншоте видны плашки, открывающие дополнительные секции, все новые блоки и как они работают.
Аналитика. Игра сделала на gamemaker studio 2. Чтобы добавить в неё аналитику недостаточно разбираться во встроенном языке программирования. Хотя в маркетплейсе есть расширение, позволяющее добавить firebase в проект, оно стоит 900 баксов. Так что я пока не могу себе его позволить.
Главное что я понял: проект нужно лучше продумывать по всем критериям, прежде, чем выкладывать MVP. В мои ближайшие планы входит неспешная доработка Арифметриса, новые блоки и бонусы. А также я планирую выпустить вторую игру, над которой сейчас работаю. Это пазл-платформер с интересной механикой, рассчитанный на более широкую аудиторию. Везде пишут о необходимости завести странички в социальных сетях, ютуб канал и всё такое. Так что я постараюсь сделать это и регулярно делиться новостями разработки на них. Также было бы здорово найти в команду людей, разбирающихся в разработке, продвижении, или способных заняться графикой. В целом разработка игры — это очень интересно. Я рад, что решился на это и нисколько не жалею потраченного времени.
Надеюсь получить от вас обратную связь по игре. И, конечно, искренне надеюсь, что она вам понравится.
Страница игры в Google Play:
https://play.google.com/store/apps/details?id=com.zhookevil.arithmetris
KotlinJoyV1.0
Всем привет! В прошлом посте мы с вами познакомились и, о чудо, свершилось то, ради чего это было задумано!
В комментариях пошли вопросы от людей, которые находятся в том же ужасном состоянии неопределённости, что и я когда-то.
В прошлом посте мы выбрали язык программирования, а теперь обсудим как ему учиться. Точнее как это делал я и какие трудности у меня были. Если вам просто интересно, на каких ресурсах брать задачи для практики, то можете просто отмотать в конец до Рика) (Привет, зелибоба)
Сидишь ты с открытым браузером и перед тобой безграничные ресурсы интернета, отсутствие понимания что делать и желание стать прогерхуцкером, закодить сайт левой рукой и создать второй убер правой.
Первое, что мне пришло в голову - это посмотреть курсы в каком-нибудь гигбрэинс, который в то время рекламился в каждом углу интернета. Я потратил накопленные потом и трудом деньхи на курс Java и здесь понял... А дисциплины то у меня нет)
Короче, после 1.5 месяца занятий я забил на это дело с кучей долгов домашних заданий и т.п. Первые шаги давались легко. У меня что тогда, что сейчас к программированию одно и то же чувство.
"У тебя есть молоток с лобзиком, построй самолёт"
Каждая задача - головоломка с множеством решений. Это интересно. Но без конкретики и цели сложно куда-то идти, верно?
И вот, сидим теперь мы всей компанией - я, курсы, долги по домашкам на этих курсах и разбитое состояние отсутствия движения.
Мои друзья тем временем на первых работах батрачат за 30-40к, делают крутые вещи и двигаются
Тем временем я:
Я был готов бросить всё, да и условия работы в маке стали казаться перспективнее, чем раньше. Но, появилась конечная точка, которая дала старт всему.
Я решил создать своё приложение и на его основе строить компанию.
В голове это звучало лучше...
В любом случае, без цели и точки Б, к которой вы захотите дойти, вы не поймёте в каком направлении двигаться. В это мгновение в голове стало ещё больше вопросов, но у них всех было 1 чёткое направление, которое завело меня на работу учиться мобильной разработке.
Я начал усердно заниматься. Ютьюб, курсы, сайты где сливают курсы, книги, я стал поглощать инфу как ненормальный! Так мне казалось...
Вечер, реклама, стажировка, сбер, москва, совмещай учёбу с работой и т.п.
С большим желанием зайти, порвать всех и выйти, я направился на собеседование.
Меня раскатали за 3 минуты и отказали. И так потом ещё пару раза...
Да, меня слал сбер нахер много раз подряд. И каждый раз это был полезный опыт. Меня много откуда гнали, но я понимал, что рано или поздно оно выстрелит.
И вот, когда я понял, что я бегаю за сбером, как школьник за самой красивой одноклассницей, а она меня динамит, то решил посмотреть в сторону тех девчонок, с которыми вы всегда были просто друзьями и приятно проводили время, но никогда не знакомились близко. И о чудо. С первого раза взяли.
После каждого собеседования я выпытывал все косяки, которые не нравились моим Hr. Советую так делать в начале, пока опыта не так много и исправлять все те вещи, которые вам подсветят. Не сдавайтесь и практикуйтесь. Но важней всего - это ваша цель, к которой вы будете хотеть двигаться через отказы, стресс и прочее дерьммо.
Как и обещал, полезные ресурсы для учёбы на андроидера - котлиниста/джависта. Не реклама! Гуглите - это главный навык прогера.
1) Твоя библия - startandroid ru
2) сливысклад (ресурс пиратский и вообще таким нельзя пользоваться и фуфуфу, есливы меня понимаете. Не заходите и не ищите там курсы udemy, gb и так далее!)
3) udemy - мастхэв
4) YouTube - StartAndroid
5) Try kotlinlang org
6) Если вы хотите приложухи делать, то берите любое уже готовое и повторяйте экран за экраном. Попробуйте сделать приложуху какой-нибудь пиццерии. И гуглите, много много много.
7) medium com куда без него
8) projecteuler просто задачки
9) taskcode ru level2
10) просто совет - старайтесь сёрчить на английском, даже если это очень тяжело и язык не знаете
Что же используют люди, живущие без GAPPS?
Увидел пост о том, как можно жить без гаппсов (GAPPS, Google Apps), но инфы ИМХО почти никакой, + комментарии по типу "это же неудобно", "а камеру заклеил?" "а контакты можно хранить в блокнот и обматывать его фольгой", поэтому я решил зарегестрироваться чтобы описать подребнее жизнь без гапсов и что использовать вместо?
Скажу сразу, изначальнно у меня был эксперимент, в рамках которого я использую только F(L)OSS/OSS (Free (Libre) Open Source Software/Open Source Software). Ниже будет абзац про то, что это такое, а потом я начну про GAPPS.
Open Source Software (OSS) - программное обеспеченье с открытым исходным кодом, это значит, что любой, кто интерисуется, может просмотреть как работает программа, а параноики могут убедиться в том, что это ЦРУ не узнают когда они дрочат каких-нибудь "секретов".
Free (Libre) Open Source Software (F(L)OSS) - свободное програмное обеспеченье. Подразумевает в себе OSS + свободу действий, например возможноть законно изменять исходный код или использовать в своих целях, т.е. F(L)OSS = OSS, но OSS ≠ F(L)OSS. Про свободные лицензии на википедии. (Для примера, есть Linux, исходный код которого распространяется под GNU GPL, лицензия подразумевает, что ты если что-то сделаешь на основе линукса, оставишь исходный код открытым, но эльбрус сделали плохо (ай-ай-ай, ребят, ну вот как так, а?) и не выложили исходного кода своей ОС, а есть TrueCrypt, вроде исходный код открыт, но свободным ПО назвать нельзя, ибо проприетарная лицензия запрещает редактировать исходный код, на условиях лицензии ты можешь его только просматривать.)
Так же небольшая вставка. Ребят, если я удалил гапсы - это не значит, что я параноик. Причин может быть много. К примеру вот несколько:
- А нахер оно надо?
- Мне лень выкачивать гапсы
- Интернет херня
- Я предпочитаю open-source
И еще. Если я предпочитаю open-source - это не значит, что я параноик. Причин может быть много. К примеру, вот несколько:
- А почему бы не использовать открытое ПО если оно не уступает закрытому?
- Мне из F-Droid'а скачать проще
- Я не люблю пиратить
- Я не люблю когда какие-нибудь гугол/яндекс/etc. легально зарабатывают на мне и не делятся баблом, а тут я как минимум знаю если это происходит, + если не лень (никогда) могу удалить или ограничить (всегда)
- Мне влом читать лицензионное соглашение, а приблизительно текст свободных лицензий я знаю, все сводится примерно к такому:
- Используй как хочешь
- Даже если ты послений извращенец, тебя все равно ничего не остановит
- Некоторые лицензии позволяют тебе сделать что-нибудь с софтом и закрыть исхоный код
- Некоторые лицензии позволяют тебе сделать что-нибудь с софтом и продавать его
А теперь вернемся к гапсам. Есть ли у меня ГАППСы? Врать не буду, да, есть, если точнее, то MicroG (4PDA), свободная реализация GSF, обеспечивающая базовый функционал. Т.е. дефолтный набор GAPPS ресурсов не жрет, контакты без лишней ебли синхронизировать можно, то, чему нужны ГАППСы не падает, уведомления в приложениях, которые используют гугл для push, работают. Так почему же Я рассказываю про жмзнь без GAPPS? Отвечу, я и раньше жил без GAPPS, да и этом MicroG я не использовал, если подумать, то не помню чтобы у меня было что-что, что зависит от GFS. А теперь давайте я расскажу о том, что я использую. (пост будет без скриншотов, ибо временно без телефона).
Еще одна вставка. Весь софт, на который я дал ссылку - OSS, ибо это тот софт, что я использовал. Тот софт, на который ссылок нет, я рекомендую как достаточно хороший и проверенный мной, но неиспользуемый из-за того, что он проприетарен.
Google Play
Для поиска прложений у меня
4PDA. Сайт/4PDA, Google Play
Причем использую я их именно с таким приоритетом, Aurora у меня скорее просто топ игрушек полистать и что-ибудь скачать, или обновление выкачать и на 4PDA залить.
Gmail
Я использовал K-9 Mail, в полне не плохо. 4PDA, F-Droid, Google Play
А вообще, клиентов уйма, те же Outlook, Яндекс.Почта работают со всем, что можно. Так же в конце будет ссылка, можно посмотреть там.
Google Maps
Яндекс
Google Music
Яндекс, спотифай
Google Drive
DropBox, OneDrive все это удобно, но если интерисует, то
Nextcloud. 4PDA, F-Droid, Google Play
Тут придется запариться и поднять свой сервер, но через него можно синхронизировать клаендарь, пароли, заметки, файлы, контакты (если не ошибаюсь) и еще много всего, ибо у него есть возможность расширения плагинами
Google Docs
Тут могу только Microsoft Office рекомендовать. В любом случае ИМХО лучший вариант, использовал его еще когда жил с ГАППСами
Google Chrome
Firefox. 4PDA, F-Droid, Google Play
В отличии от хрома (хз, может и в хроме так, давно не использовал), Firefox умеет работать с аддонами с десктопного Firefox'а, что явно +.
Пы.Сы. В F-Droid Fennec f-Droid вместо Firefox, на сколько знаю, это тот же Firefox, только с вырезаной проприетарщиной.
Google Camera
Тут аналогов много, но я хочу обратить внимение на
Open Camera. 4PDA, F-Droid, Google Play
Google keep
Notes by Firefox. 4PDA, Google Play
Carnet (NextCloud). F-Droid, Google Play
Youtube
Youtube Vanced (мод ютуб, так же зависит от GFS, но не мог его не упомянуть). 4PDA
Что с синхрониацией?
Тут могу посоветовать NextCloud, на сколько знаю, он умеет контакты и календарь.
Еще вариант - Microsoft Outlook. Он и почта, и контакты, и календарь, + интеграция со всякими офисами, скайпами, вандрайвами и пр.
А что на счет соц. сетей?
Оффициальный клиент твиттера падает при полном отсутстии GAPPS. Если нет какого-нибудь MicroG или Pico версии opengapps, то могу посоветовать Twidere (4PDA, F-Droid, Google Play).
Не знаю на счет зависимости офф версии ВК от GFS, но я использовал Sova V и у меня все отлично работало.
Facebook и инсту не пробовал.
оффициальный клиент Telegram вроде шлет уведомления через GFS, я использую Telegam FOSS (F-Droid, GutHub). Вообще использую его только потому что проще было скачать.
Не знаю зависит ли офф клиент реддита от GSF (если такой есть), но из OSS мне понравился RedReader (F-Droid, GutHub)
Так же еще много альтернатив можно найти на 4PDA тут (F(L)OSS/OSS) и вот тут. Удачи!