Подборка материалов для Android-разработчиков / Хабр
Собрали список и про Kotlin, и про Java, и про алгоритмы, и про новые инструменты, и популярное чтиво есть. Почитать на новогодние выходные.
«Site Reliability Engineering: How Google Runs Production Systems», Бетси Бейер
Это книга от Google, а значит она доступна бесплатно в онлайн-версии на английском. Почти 600 страниц (в печатной версии), 34 подробных главы…
…и 6 приложений с полезными материалами, вроде приложения с таблицами доступности…
…или с примерами постмортемов.
В целом, книга не о том, как надо делать, а о том, как это сделано в Google. Повторять их путь не обязательно, но что-то почерпнуть, например, в организационной части — можно.
И пусть вас не смущает SRE в названии — книга будет полезна не только DevOps-инженерам, как это казалось бы на первый взгляд.
Абакар Магомедов
Android Tech Lead в приложении Альфа-Мобайл
«Книга не сильно связана с Андроид-разработкой, но в ней можно почерпнуть очень много важных моментов, когда вы хотите делать действительно крупный проект или систему. В книге описаны все виды граблей на которые можно понаступать пока вы создаете и поддерживаете крупную систему»
«Kotlin in Action», Дмитрий Жемеров, Светлана Исакова
Алексей Батурский
Android-разработчик в приложении Альфа-Мобайл
«Kotlin сейчас — стандарт де-факто в разработке мобильных приложений под Андроид, в книге довольно ёмко и лаконично описаны основные фичи языка»
Описано практически всё: от инструментария до документирования, от системы типов до конструирования DSL. Написано коротко, ясно, по существу…
…и с примерами.
«Совершенный код», Стив Макконел
Понять, что «Совершенный код» уже «взрослая» книга можно по обложке — сейчас таких не делают: ведь первое издание русскоязычной версии датируется 2005 годом, а англоязычную выпустили ещё в прошлом веке.
Но возраст здесь не помеха — принципы актуальны до сих пор, с учётом того, что есть довольно свежие версии с обновлениями.
Абакар Магомедов
Android Tech Lead в приложении Альфа-Мобайл
«Отличная книга о том, почему чистота кода это важно и как её поддерживать. В книге большое количество примеров, что делает её чтение ещё интереснее»
Но есть одно «Но». Автор очень любит писать — почти 900 страниц, как никак. Вот типичный абзац.
«На уровне архитектуры ПО сложность проблемы можно снизить, разделив систему на подсистемы. Несколько несложных фрагментов информации понять проще, чем один сложный. В разбиении сложной проблемы на простые фрагменты и заключается цель всех методик проектирования ПО. Чем более независимы подсистемы, тем безопаснее сосредоточиться на одном аспекте сложности в конкретный момент времени. Грамотно определенные объекты разделяют аспекты проблемы так, чтобы вы могли решать их по очереди. Пакеты обеспечивают такое же преимущество на более высоком уровне агрегации. Стремление к краткости методов программы помогает снизить нагрузку на интеллект. Этому же способствует написание программы в терминах проблемной области, а не низкоуровневых деталей реализации, а также работа на самом высоком уровне абстракции»
«Совершенный код», Стив Макконел
И, кажется, Стив понимает, что пишет очень много:)
Лаконичности предыдущей книги «Совершенному коду» не хватает:)
«Совершенный алгоритм. Основы», Тим Рафгарден
Абакар Магомедов
Android Tech Lead в приложении Альфа-Мобайл
«Очень интересная книга по алгоритмам. Автор описывает базовые термины как на научном, так и на простом языке. Причём даёт сразу две формулировки, чтобы сложилось более глубокое понимание предмета»
«Интересность» книги возникла не просто так. Ведь она основана на курсах по алгоритмам на Coursera, которые Рафгарден, в свою очередь, основал на лекциях, которые он же читал в Стэнфордском университете. Книга — это двойная производная от лекций, так сказать.
Шесть глав, 258 страниц, алгоритмы, и ничего лишнего.
«Effective Java, 3rd Edition», Joshua Bloch
— Так, а зачем здесь Java? Все новые приложения уже пишут на Kotlin!
Алексей Батурский
Android-разработчик в приложении Альфа-Мобайл
«Всё верно, но проекты с легаси, написанным на Java никто не отменял. А ещё сами исходники Android SDK на Java, а залезать в них во время работы придётся»
Как пишут в отзывах, вы «точно поймёте, как используется та или иная функция»
Раз уж речь зашла о Java, то следующая рекомендация…
«Java Concurrency in Practice», Brian Goetz
Алексей Батурский
Android-разработчик в приложении Альфа-Мобайл
«В современных мобильных приложениях довольно много асинхронной работы. Конечно, она уже закрыта за большим количеством абстракций (kotlin coroutines, rxjava2, HandlerThread) — но не лишним будет узнать, как всё это работает на более низком уровне. В книге приводится довольно много фундаментальных проблем связанных с многопоточностью и работой с памятью. Сложное, но интересное чтиво»
Многопоточность сложная вещь. Не то, чтобы правильно реализовать — трудно объяснить. Но здесь автор применяет хитрую уловку — показывает как не надо делать, прежде чем рассказать как надо.
«Jetpack Compose Internals», Jorge Castillo
Абакар Магомедов
Android Tech Lead в приложении Альфа-Мобайл
«Compose сейчас все больше набирает популярность, как инструмент построения UI на Android. В этой книге описано, как он устроен под капотом. Всегда полезно знать, как работает тот инструмент, которым пользуешься в повседневной разработке»
Книга стоит 50 с лишним долларов и есть только на английском. Если это станет препятствием — можно почитать блог Хосе, там тоже достаточно статей о Jetpack Compose. Но глобального понимания, как книга, статьи не дадут.
«Идеальный программист», Роберт Мартин
Абакар Магомедов
Android Tech Lead в приложении Альфа-Мобайл
«Эта книга позволяет понять, что я не первый кто сталкивается с определенным типом проблем в карьере программиста и успокаивает даже снимает синдром самозванца. Если уж такой человек как Роберт Мартин ошибался и спокойно может написать книгу о своих ошибок, то и в моем случае в этом нет ничего критичного. Главное учиться на каждой своей ошибке»
В целом, книга скорее мотивирующая, чем техническая — в формате жизненный историй и уроков.
Прочитав её, сразу становится понятно, какую мораль (в хорошем смысле) от Роберта мы прочтём. Книгу можно читать даже если вы далеки от разработки — советы универсальные (почти все).
«Extreme Programming», Kent Bek
Никита Горбунов
Ведущий Android-разработчик в приложении Альфа-Мобайл
Книгу можно назвать гайдом по созданию ПО. Писал её человек с большим опытом, который успел поучаствовать в большом количестве проектов. Так лучше чем наступать на свои грабли прочитать о чужих»
«С большим опытом» это даже скромно:) Кент Бек — это легенда: один из авторов шаблонов/паттернов проектирования (да, у идеи паттернов есть авторы), автор JUnit, автор книг и подхода экстремального программирования. Это не все достижения, для этого есть отдельная статья у JUG Ru. Но даже этого короткого списка хватит, чтобы записать книгу в список обязательных для чтения.
На этом всё — оставайтесь на связи.
Рекомендуем почитать [подборка редактора блога]:
«А поговорить?»: как сделать голосового помощника в браузере
Подкасты, книги, курс: подборка интересного по Deep Learning
Семантическое версионирование и проблемы с зависимостями — коротко о lockfile
Как мы искали взаимосвязь между оценкой SUS и эмоциональным откликом
Ещё одна подборка книг по фронтенду
Подписывайтесь на Телеграм-канал Alfa Digital — там мы постим новости, опросы, видео с митапов, краткие выжимки из статей, и другие подборки, иногда шутим.
Как сделать приложение без программирования. Учебник
Разработка приложений может начаться как хобби. Но если вы достаточно настойчивы и изобретательны — это может открыть новый горизонт монетизации.
Что является первоначальным – навыки программирования или идея? Откровенно говоря, программирование тут вообще ни при чем (позже мы объясним, почему). Все, что вам нужно, это мощная идея. Вы можете подумать о создании чего-то, чего раньше никогда не существовало. В качестве альтернативы рассмотрите возможность разработки приложения для глубокой ниши. Выберите тему, в которой вы чувствуете себя экспертом, поделитесь своим опытом и знаниями. Так рождается уникальный продукт. Наконец, вы можете инициировать исследование рынка. Изучите своих конкурентов, проанализируйте их проблемы, посмотрите на их преимущества. И сделать его лучше.
Следующий шаг — реализация приложения. Контент — это то, что будет отличать ваше приложение от других. Присмотритесь к тому, что сейчас модно. Что может удовлетворить запросы пользователей и оправдать их ожидания? Имейте в виду, что качество и уникальность контента всегда привлекают гораздо больше подписчиков, чем плагиат среднего уровня. Не забывайте часто обновлять свой контент. Это будет поддерживать интерес пользователей на века.
Когда вы будете готовы с этими двумя компонентами — идеей приложения и контентом — переходите сразу к разработке. Выберите тип приложения и шаблон, который предлагает Andromo.com. Поместите контент, который вы уже подготовили, в конструктор. Платформа превратит ингредиенты в готовое к использованию мобильное приложение.
Если ваш план также включает в себя заработок на приложении, вам следует установить опцию монетизации в конструкторе Andromo. Если вы все сделали правильно, у вас будет возможность запускать рекламу через свое приложение и получать доход от показов рекламы.
Хорошо, похоже, мир готов встретить ваше новое приложение. Выпустите его в Google Play. Правильно настройте параметры профиля приложения. Значок приложения, описание приложения, скриншоты и демонстрационные видеоролики должны быть красивыми, привлекательными и информативными. Добавьте ключевые слова для оптимизации магазина приложений. Если вы попадете в топ результатов поиска — вы получите больше установок, что также отлично подходит для монетизации.
Ключом к успеху здесь является популярность вашего приложения. Имеет значение как количество загрузок, так и продолжительность ежедневного контакта с вашим приложением. Рекламодатели ищут соответствующие тематические приложения с похожей целевой аудиторией. Они уже держат деньги в руках, ожидая подходящего момента, чтобы заплатить вам за продвижение. Технически вы ничего лишнего не делаете руками. Пассивный доход поступает в ваш кошелек каждый раз, когда пользователь взаимодействует с вашим приложением и видит чью-то рекламу между страницами.
Используя этот алгоритм, вы открываете для себя новую эру. Ничто не мешает вам получать общий доход. Почему бы тебе не попробовать?
Как создать приложение с нуля (2023 г.): 11 шагов к успеху
Если вы ищете простые способы создать приложение , вы попали не по адресу .
Это потому, что создание любого многофункционального программного обеспечения с нуля и обеспечение его успеха требует серьезного управления проектами, маркетинговых и технических знаний.
Не говоря уже о терпении святого.
Но если вы относитесь к тому типу людей, которые любят бегать супермарафоны или разгадывать головоломки из тысячи деталей, то это аттракцион для вас.
Поскольку создание приложений с нуля занимает много времени, в долгосрочной перспективе это может сэкономить вам тысячи долларов.
В этом блоге мы проведем вас через каждый этап процесса разработки приложения, от идеи до запуска и оптимизации приложения.
1 — Определите свои цели
Существует множество различных мотивов для одобрения проекта приложения.
Возможно, вы начинаете продавать через Интернет. Возможно, вы хотите расширить свой бизнес. Возможно, вы хотите повысить организационную эффективность.
Черт, может, ты даже захочешь изменить мир.
Но что бы это ни было, вам нужна Полярная звезда. В противном случае будет слишком легко выделить контент TikTok и отодвинуть ваш проект в сторону.
К сожалению, момент лампочки и навыки кодирования не делают единорога.
Вместо этого вам нужно усовершенствовать идею своего приложения и точно определить, как оно будет способствовать достижению ваших целей.
Постановка задачи поможет вам сделать это.
В нем вы соберете всю информацию о проблеме, которую пытаетесь решить, кто ваша целевая аудитория, каковы их болевые точки и ваше решение.
3 — Проведите конкурентный анализ
В британском ситкоме Peep Show содержится масса жизненных уроков. Но «если вы его построите, они придут — это мое исследование рынка» не входит в их число.
Знание конкурентной среды является ключом к эффективному позиционированию вашего приложения и созданию функций, которые привлекут внимание вашей целевой аудитории.
Это особенно важно, когда вы новичок в этом районе, без признания бренда более опытными игроками.
4. Определитесь с платформой для запуска.
Когда у вас появится представление о предлагаемом вами решении и конкурентной среде, выбор мобильной платформы, которой вы хотите отдать приоритет, должен стать легкой прогулкой по парку, будь то создание приложения для Android. или разработка приложения для iOS.
Одна из проблем, с которой вы можете столкнуться, — это если у вас 50/50, разделенные между вашей пользовательской базой.
В этом случае может быть лучше пересмотреть вопрос о создании приложения для себя и вместо этого работать с партнером. Таким образом, их нативная разработка поможет вам создавать приложения для обеих мобильных платформ одновременно.
Важный советВ зависимости от вашей операционной системы (ОС) для разработки приложения вам потребуется использовать разные языки программирования.
5 — Создание (и тестирование) каркасов
Когда дело доходит до дизайна приложения, получение каркасов является вашим первым портом захода.
Это наглядные руководства, которые формируют скелет вашего приложения, помогая вам понять его структуру до того, как вы начнете его разработку .
Важно отметить, что эта структура позволяет вам получать отзывы от других заинтересованных сторон, повторять ваши первоначальные проекты и лучше обслуживать вашу пользовательскую базу.
Кроме того, вы можете свести затраты на разработку приложений к минимуму, поскольку не допускаете ошибок на ранних этапах процесса создания приложений.
6 — Карта пути пользователя
Создание эффективной карты пути пользователя является ключом к пониманию и достижению целей реальных пользователей, когда они проходят через ваше приложение.
Устраняя как можно больше трений — например, разрешая нечеткие призывы к действию (CTA) или изменяя цветовую схему в соответствии с требованиями доступности — у вас гораздо больше шансов наладить отношения с пользователями приложения и повысить их лояльность.
Но без сочувствия к вашей пользовательской базе они мгновенно откажутся от вашего приложения, заставив вас переиндексировать привлечение пользователей.
Очевидно, что это повторяющийся процесс, и вы можете использовать любые собранные данные для дальнейшей оптимизации взаимодействия с пользователем (UX).
7 — Презентация инвесторам с использованием прототипа приложения
Чтобы вывести свой проект на новый уровень, вам необходимо обеспечить финансирование приложения.
И конечно:
Вы можете просто представить готовое приложение инвесторам. Но это самый трудоемкий и трудоемкий метод, доступный вам.
Прототипы приложений, с другой стороны, работают лучше, потому что они функционируют как цифровая модель вашего приложения, а не жестко запрограммированы.
Это означает, что вы можете использовать отзывы инвесторов для повторения дизайна вашего приложения, не внося тонны изменений в серверную часть постфактум.
8 — Создайте MVP
После того, как вы выполнили предложения инвесторов, пришло время приступить к программированию. И первая задача, которую вы должны выполнить, — это создать минимально жизнеспособный продукт (MVP).
Это жестко закодированная, но незавершенная версия вашего приложения, позволяющая протестировать пользовательский интерфейс (UI) и UX, прежде чем вводить отзывы клиентов и завершать работу над приложением.
9 — Создайте MMP
Чтобы перейти от этапа MVP к этапу минимального товарного продукта (MMP), вам необходимо иметь четкие точки улучшения для вашего приложения, а также понимание того, как оно может развиваться в будущем.
Например, монетизация приложения может быть одной из ваших ключевых долгосрочных целей, а ваши результаты MVP могут повлиять на стратегию, которой вы придерживаетесь. В рамках MMP вы можете использовать покупки в приложении (IAP), модель freemium или гибридную модель в соответствии с вашими потребностями.
Хотя ваш MMP не является готовым продуктом , он позволяет вам сократить время выхода на рынок и выполнить свои обещания инвесторам.
10 — Запустите свое приложение в магазинах мобильных приложений
Создание приложения для мобильного устройства похоже на создание любого контента. Просто потому, что он существует, это не обязательно означает, что люди обнаружат его.
И лучший способ обеспечить выход вашего приложения на массовый рынок — через магазины мобильных приложений.
Если вы создали приложение для Android, лучшими местами для его размещения являются Google Play Store и Amazon Appstore. Между тем, если вы создали приложение для iOS, лучшим местом для размещения вашего приложения является Apple App Store.
Какую бы платформу вы ни выбрали, оптимизация магазина приложений гарантирует, что ваше приложение окажется выше конкурентов.
Этот процесс включает в себя создание оптимизированных заголовков и описаний для вашего приложения с включением релевантных ключевых слов. Между тем, добавление скриншотов и видео, демонстрирующих функциональность вашего приложения и ценностные предложения, будет стимулировать вашу пользовательскую базу к загрузке.
Пожалуй, самым важным фактором являются отзывы, которые вы можете получить от реальных пользователей. А поощрение их за первых пользователей может помочь вам занять первое место в рейтинге App Store.
11 — Доработайте и оптимизируйте свое приложение
Если ваше приложение не на должном уровне, вы можете поспорить, что ваши целевые пользователи сообщат вам об этом, будь то в социальных сетях, через личные сообщения или непосредственно в Google Play Store или Apple App Store.
И это не личное. Во всяком случае, большую часть времени.
Убедитесь, что это свидетельство не пропало даром, завершив свое приложение с учетом отзывов пользователей.
Дополнение этого достоверными данными, сгенерированными формальными тестами, поможет гарантировать, что вы продолжите адаптироваться к возникающим потребностям клиентов и не будете вносить радикальные изменения только потому, что мошеннический пользователь сказал вам об этом.
Вот некоторые среды тестирования, которые вы могли бы использовать для решения этой задачи:
- Agile — непрерывный итеративный подход к разработке программного обеспечения
- водопад ввод для следующего
- A/B — Две версии одной и той же переменной тестируются и предоставляются рандомизированной аудитории
Заключение
Создание приложений с нуля — это цифровой эквивалент потирания живота и похлопывания по голове.
Во время жонглирования. На уницикле.
И только религиозно преданным техническим предпринимателям стоит задуматься об этом.
Если это не вы или вам надоела вся эта ерунда, связанная со всем процессом, мы можем вам помочь:
Builder.ai — это платформа для создания приложений, на которой может создавать как предварительно упакованные, так и пользовательские приложения. для вас , что позволит вам тратить меньше времени на программирование и больше времени на игру во фрисби с афганской борзой. Или что угодно.
Если это звучит хорошо, вот как выглядит наш процесс:
- Подберите эксперта — Они будут управлять всем — от запуска до доставки
- Поделитесь своей идеей приложения — Специфицируйте свое приложение с вашим экспертом — мы предоставим вам фиксированную цену и четкие сроки для вашего проекта
- ИИ соберет ваше приложение — Мы выбираем шаблон, а вы выбираете функции — затем ИИ объединяет их вместе.
- Специалисты настраивают ваше приложение . Дизайнеры и разработчики адаптируют ваши функции, делая ваше приложение уникальным.
- Ваше приложение готово! — Мы доставляем ваше приложение, чтобы вы могли запустить его, а также помогаем поддерживать его после обслуживания.
Закажите демонстрацию 👈 прямо сейчас, чтобы увидеть, как программное обеспечение для создания приложений может вам помочь!
Приянка Кочхар
Приянка Кочхар
Вице-президент по продукту в Builder.ai
Предприимчивый старший исполнительный директор быстрорастущих технологических компаний. Успешно доводит идеи от концепции до прибыльности, используя сочетание бережливых, гибких методологий и методологий быстрого результата. Опыт создания и управления кросс-функциональными и гибридными командами, а также опыт удержания талантливых людей и достижения результатов. Квалифицирован в разработке и поддержании четкого видения продукта и проекта, стратегии и дорожной карты.
Желание и способность адаптироваться к изменяющимся условиям. Часто называют кризис-менеджером с видением «Заставить вещи происходить».Узнайте, как создать приложение для Android
Хотите шаг за шагом научиться программировать для Android? И вы хотите получить/обновить свои навыки Java? Присоединяйтесь к этому курсу, чтобы получить полное руководство по Android Studio и начать создавать приложения для Android с нуля. Кроме того, вы неизбежно погрузитесь глубже в Java, что является обязательным требованием для разработки приложений для Android — и почти для любого другого типа разработки в цифровом мире!
Почему вы должны зарегистрироваться в этом учебном пособии по Java и Android StudioИспользование системы Android становится все более популярным и распространяется на все больше и больше гаджетов (не только телефоны — подумайте об умных домах, беспилотных автомобилях и т. д.). Спрос на новые приложения есть и будет расти, поэтому научиться делать приложение для Android с помощью Java, даже если у вас сейчас нет ничего общего с программированием, — хорошая идея.
Android Studio — это среда, в которой вы можете быстро и бесплатно создавать приложения для Android. Это не требует экспертных знаний в области кодирования, поэтому это идеальное место для начала. Этот учебник по Android Studio поможет вам создать свое первое приложение с нуля, и это очень легко сделать. Поэтому другая часть этого курса будет посвящена основам Java, которые тесно связаны с разработкой приложений для Android. Java похож на Майкла Джексона — я очень сомневаюсь, что найдется больше 2 человек из 10, которые раньше не слышали это имя. Он огромен, потому что он везде, совместим со всеми операционными системами, используется в компьютерах, видеоиграх, телефонах и т. д. Довольно часто это первый язык программирования, который вы хотите выучить. И это довольно легко понять, его код имеет человеческий смысл, и если вы хотите создавать приложения, вам следует подумать об использовании Android Studio для разработки Java.
Как вы повысите свою ценность на этом курсе?В этом учебном пособии по Android Studio вас будет направлять наш инструктор Кайса, у которой есть отличные навыки, чтобы познакомить начинающих студентов с предметом. Она хорошо разбирается в Java, Python, R, idl и MatLab, интересуется такими вещами, как разработка моделей для обнаружения внеземных цивилизаций, поэтому у нее очень открытый и творческий подход к использованию технических знаний. Вдохновитесь Кайсой!
В своем собственном темпе вы будете изучать следующие вещи:
- Как создать приложение для Android с Java с помощью Android Studio (настройка новых проектов с простым пользовательским интерфейсом)
- Основы программирования на Java
- Использование Android Studio для разработки Java
- Типы данных и переменные
- Циклы while и for, условные операторы, ошибки обработки
- Какие проблемы возникают при разработке приложений для Android
- И многое другое!
Каждая тема будет сопровождаться простым приложением для Android, чтобы сделать это руководство по Android Studio более понятным и практичным для вас. Кроме того, этот курс основан на проектах, поэтому дополнительным преимуществом является то, что у вас уже есть что добавить в свое портфолио.