Разработка мобильных приложений

Содержание:

Исследуем баг iOS с помощью Hopper

Технотекст 2020

Привет! Меня зовут Александр Никишин, я занимаюсь разработкой iOS-приложений в компании Badoo. В статье я расскажу о том, как мы исследовали баг в UIKit, который Apple не хотела исправлять на протяжении полугода.
Всё началось в августе 2019 года с первых бета-версий iOS 13. Тогда мы впервые столкнулись с проблемой. В приложениях Badoo и Bumble мы постоянно работаем над улучшением интерфейсов и, например, стараемся максимально оптимизировать нудный и не любимый пользователями процесс регистрации. Системные предиктивные подсказки над клавиатурой — отличный способ сокращения количества кликов пользователя при вводе данных. Однако в новой версии iOS мы с удивлением обнаружили, что подсказки при вводе номера телефона пропали.

«Программист Android» от GeekBrains

Длительность 8 месяцев
Уровень С нуля
Для кого подходит Для любого уровня подготовки
Формат Видеолекции + домашнее задание + обратная связь от ментора
Гарантии Стажировка
Итоги Свидетельство + сертификат + портфолио
Цена ● Полная – 69 984 рублей;
● Есть рассрочка без первого платежа – 8748  рублей в месяц.
Ссылка на курс  

Обучающие материалы включают разбор тем:

  • Git;
  • Java;
  • Android;
  • база данных.

Преподаватели:

Артём Евдокимов — Java Developer;

Сергей Кручинин — разработчик военных систем связи;

Александр Фисунов — Senior Java Developer. И ещё 7 преподавателей. Полный список смотреть здесь.

После окончания курса вы сможете:

  • разрабатывать Android-приложений на Java;
  • разбираться в архитектуре Android;
  • владеть SQL;
  • тестировать приложение;
  • разбираться в чужом коде;
  • владеть инструментами Android-разработчика;
  • работать в команде или на фрилансе.

Мои впечатления: Обучение для новичков в разработке, которое начинается с изучения языков программирования. Под руководством опытных педагогов, вы освоите создание приложений и научитесь работать с кодом. Курс предлагает стажировку, английский язык и подготовка к собеседованию. Точно надо брать!

Онлайн-паб 23 мая: холиварим про облака, JS и мобилки

Бывало такое, что на митапе самое интересное вы узнавали не из докладов, а на кофе-брейке или афтерпати, пока общались с спикером или другими участниками? Если да, то давайте пропустим лишнее и пойдём сразу в паб. В онлайн-паб.
Никаких скучных докладов, соберем 12 экспертов и сделаем живой разговор с аудиторией. Будем говорить про облака в реальном мире, проблемы заезда, неожиданные косты и стереотипы, которые есть вокруг облачных сервисов. Попробуем понять, кто такой хороший JS-разработчик, каким он должен быть и должен ли он вообще что-нибудь кому-нибудь. Подумаем, как дела с мобильной разработкой в 2020 и сколько осталось жить флатеру.
Как всё будет и где смотреть:

Не надо портить инженерам десктопы своими мобильными решениями, одумайтесь

Когда-то давно моя девушка начала использовать инстаграм. Она попросила меня зарегаться и подписаться на неё. Я попробовал — у меня не получилось, потому что в инстаграме нельзя было регистрироваться с десктопа. Я тогда подумал — до чего же странные люди. Ну какой дурак будет делать софтверный продукт, которым нельзя пользоваться с компа? У них ничего не получится, и этот инстаграм станет маргинальным сервисом для кучки странных женщин, которые почему-то не любят десктопы.
Прошло всего несколько лет, рынок все расставил по местам — и самым большим дураком оказался я. А гении из инстаграма предсказали, как и куда все будет развиваться. Сегодня большая часть продуктов для пользователей делается в первую очередь под мобильные платформы. В лучшем случае они фигачат универсальный веб, который все равно оптимизирован под мобильники. Потому что пользователи любят айфоны, а не компы. Бизнес сел, посчитал, и принял решение — давайте зарабатывать больше денег, давайте у нас везде будет мобайл ферст.

Инструменты для разработки Android-приложений

Предварительно хочется заметить, что платформа Android является открытой, поэтому любой сможет написать собственное приложение, а потом распространять его с помощью каталогов программ. Не может не радовать и то, что все инструменты, необходимые для написания стандартного Android-приложения, бесплатны.

Итак, в первую очередь нужно установить Android Studio. Эта платформа является официальной средой разработки (IDE) для Android. Функционирует она и на Windows, и на macOS, и на Linux. Сегодня это основной инструмент Android-разработчика, хотя, говоря по правде, разрабатывать приложения под Андроид можно и с помощью других сред.

В процессе установки Android Studio, если на вашем ПК не будут установлены Android SDK и прочие компоненты, программа скачает их автоматически.
Для справки: Android SDK представляет собой непосредственную среду программирования, куда входят необходимые библиотеки, скрипты, документация, исполняемые файлы и пр. При этом Android SDK выполняет компиляцию кода в файл, имеющий расширение .apk.

Также в комплекте с Android Studio устанавливается и эмулятор Android — очень полезный инструмент, позволяющий запускать и тестировать создаваемые вами приложения.

После установки всех инструментов, можно приступать к созданию проекта. Однако мы не будем подробно на этом останавливаться, так как в сети есть множество подробных пошаговых инструкций со скриншотами. С их помощью вы без труда создадите свой первый простейший проект и мобильное приложение под Android

Мы же сфокусируем внимание на некоторых важных понятиях и правилах

Фриланс или агентство: выбираем разработчиков

  • Отношения с фрилансером основаны на взаимном доверии, и всегда есть риск наткнуться на недобросовестного исполнителя. Кроме того, без тестирования и code review со стороны профессионалов не факт, что проект будет реализован без багов и другие специалисты смогут его поддерживать, если вы решите сменить исполнителя.
  • Срывы дедлайнов и растягивание задач — частая ситуация в работе с фрилансерами. Если он работает над несколькими проектами, в первую очередь он будет решать задачи на горящих. Фрилансер может и вовсе перестать выходить на связь и пропасть.
  • Исключительно материальная заинтересованность фрилансера в вашем проекте и полное безразличие к его дальнейшей судьбе могут дать плохой результат. Включённость в проект важна, и от того, каких специалистов вы подберёте и как построите взаимодействие, будет зависеть успешность проекта.

Как мы работаем?

1. Сбор информации, изучение бизнеса
Мы начинаем общение с Вами. Изучают Ваш бизнес и проводим анализ рынка. На этом этапе определяются модели поведения пользователей, построение информационной архитектуры и архитектуры взаимодействия.
Итог: Наша команда составляет первичную внутреннюю документацию проекта.

2. Создание прототипа и его тестирование
Наш информационный инженер проектирует все экраны мобильного приложения, прорабатывает все детали и сценарии работы будущего приложения. С Вами согласовывается интерактивный прототип, который вы можете протестировать у себя на компьютере.
Итог: Чёрно-белый вариант приложения, удобство и верификация идеи.

3. Разработка дизайна
Следуя современным тенденциям и вашим пожеланиям подбирается уникальная концепция Вашего приложения. Отрисовывает дизайна для всех форматов смартфонов и, при необходимости, планшетов.
Итог: удобный и современный дизайн интерфейса.

4. Составление Технического Задания на основе прототипа и дизайна
Описание внутренней логики работы приложения.
Итог: фиксирование всего функционала.

5. Программирование
Наша команда разработчиков получает Ваш проект в разработку и под руководством технического директора определяет оптимальные инструменты для реализации мобильного приложения.
Итог: высококачественный инструмент для вашего бизнеса.

6. Тестирование
Мы тщательно тестируем приложение и даём его на тестирование вам.
Итог: готовое к запуску приложение.

7. Публикация
Немного волшебства и ваше приложение доступно клиентам.

RecyclerView.ItemDecoration: используем по максимуму

Технотекст 2020

Привет, дорогой читатель Хабра. Меня зовут Олег Жило, последние 4 года я Android-разработчик в Surf. За это время я поучаствовал в разного рода крутых проектах, но и с легаси-кодом поработать довелось.
У этих проектов есть как минимум одна общая деталь: везде есть список с элементами. Например, список контактов телефонной книги или список настроек вашего профиля.
В наших проектах для списков используется RecyclerView. Я не буду рассказывать, как писать Adapter для RecyclerView или как правильно обновлять данные в списке

В своей статье расскажу о другом важном и часто игнорируемом компоненте — RecyclerView.ItemDecoration, покажу как его применить при вёрстке списка и на что он способен

Почему следует выбрать нас?

  • Комплексный подход.
    Включает в себя базовый маркетинговый анализ, исследования по интеграции всех видов коммуникаций с клиентом, используемых вами.
  • Нацеленность на результат.
    Мы всегда интегрируемся в бизнес клиента, чтобы выпустить максимально тергетированное приложение.
  • Развитие проекта после запуска.
    Кроме разработки приложения, мы также предлагаем остаться с нами и совместно улучшать мобильное приложение.
  • Лояльная ценовая политика.
    Цена за создание приложения для мобильных устройств, при заказе нескольких продуктов существенно понижается.

Успейте войти на мобильный рынок одними из первых.
Получите конкурентное преимущестов!

В 2017 году доля глобального интернет трафика с мобильных устройств составляет
уже более 60% от всего мирового объема.

Растущий рынок пользователей мобильных приложений позволит привлечь больше клиентов в ваш бизнес

Лояльность клиентов Вы взаимодействуете с клиентом на новом «персональном» уровне общения в мобильном телефоне.

Клиент готов тратить деньги, находясь в мобильном приложении

Запустите вашмобильный бизнес
Мы тщательно тестируем приложение и даём его на тестирование вам.
Заказать проект

Как мы работаем?

1. Сбор информации, изучение бизнеса
Мы начинаем общение с Вами. Изучают Ваш бизнес и проводим анализ рынка. На этом этапе определяются модели поведения пользователей, построение информационной архитектуры и архитектуры взаимодействия.
Итог: Наша команда составляет первичную внутреннюю документацию проекта.

2. Создание прототипа и его тестирование
Наш информационный инженер проектирует все экраны мобильного приложения, прорабатывает все детали и сценарии работы будущего приложения. С Вами согласовывается интерактивный прототип, который вы можете протестировать у себя на компьютере.
Итог: Чёрно-белый вариант приложения, удобство и верификация идеи.

3. Разработка дизайна
Следуя современным тенденциям и вашим пожеланиям подбирается уникальная концепция Вашего приложения. Отрисовывает дизайна для всех форматов смартфонов и, при необходимости, планшетов.
Итог: удобный и современный дизайн интерфейса.

4. Составление Технического Задания на основе прототипа и дизайна
Описание внутренней логики работы приложения.
Итог: фиксирование всего функционала.

5. Программирование
Наша команда разработчиков получает Ваш проект в разработку и под руководством технического директора определяет оптимальные инструменты для реализации мобильного приложения.
Итог: высококачественный инструмент для вашего бизнеса.

6. Тестирование
Мы тщательно тестируем приложение и даём его на тестирование вам.
Итог: готовое к запуску приложение.

7. Публикация
Немного волшебства и ваше приложение доступно клиентам.

Оригинальный способ генерации мастер-пароля: используй специальный набор костей

Каждый раз, когда речь заходит о криптостойком мастер-пароле, на ум приходит стандартные генераторы, встроенные в тот же 1password, KeePass или любой другой менеджер паролей по вкусу. Сначала ты его генерируешь, потом учишь как «Отче Наш», а потом уже на самом деле молишься о том, чтобы не забыть его. Но у любого софта, который генерирует случайные стойкие пароли, есть уязвимые точки.
И вот, нашелся человек, который предложил генерировать базу для создания пароля буквально своими руками, без участия софта. Только абсолютный рандом, движимый гравитацией.
Этого человека зовут Стюарт Шехтер, он ученый-информатик из Калифорнийского университета в Беркли. Вопреки все усложняющимся алгоритмам и привлечению все новых и новых методов генерации шифров и паролей, Шехтер предложил крайне элегантный в своей простоте способ генерации базы символов для последующего создания мастер-пароля. Ученый создал набор из 25 шестигранных костей, на грани каждой есть пара из случайной цифры и буквы латинского алфавита. Назвал он свое творение также просто, как выглядит и сама идея, — «DiceKeys».

Мобильные антивирусы не работают

TL;DR если на ваших корпоративных мобильных устройствах нужен антивирус, значит вы делаете все неправильно и антивирус вам не поможет.
Этот пост — результат жарких споров на тему того, нужен ли на корпоративном мобильном телефоне антивирус, в каких случаях он работает, а в каких бесполезен. В статье разбираются модели угроз, от которых в теории должен защищать антивирус.
Продавцам антивирусов часто удается убедить корпоративных клиентов, что антивирус сильно повысит их безопасность, но в большинстве случаев это иллюзорная защита, из-за которой только снижается бдительность как пользователей, так и администраторов.

Встраиваем карты от Huawei в Android приложение

В предыдущих статьях мы создавали аккаунт разработчика для использования Huawei Mobile Services и подготавливали проект к их использованию. Потом использовали аналитику от Huawei вместо аналога от Google. Также поступили и с определением геолокации. В этой же статье мы будем использовать карты от Huawei вместо карт от Google.

Вот полный список статей из цикла:

  1. Создаём аккаунт разработчика, подключаем зависимости, подготавливаем код к внедрению. тык
  2. Встраиваем Huawei Analytics. тык
  3. Используем геолокацию от Huawei. тык
  4. Huawei maps. Используем вместо Google maps для AppGallery. ← вы тут

В чём сложность

К сожалению, с картами не получится так просто, как было с аналитикой и геолокацией. Что и неудивительно, т.к. это гораздо более сложная система сама по себе. И очень часто в приложениях карты и взаимодействие с ними кастомизируется. Например, отображают маркеры, кластеризуют их. Поэтому кода будет много, т.к. надо всё это заабстрагировать, имея в виду некоторые отличия в API карт разных реализаций.

Четыре способа как сделать приложение для Андроид самому

Ниже вы найдете четыре «инструмента», которые позволят вам создать такое приложение быстро и без особых знаний. Такие программы напоминают конструкторы, которые по блокам позволяют создать все что вам нужно, хорошая аналогия со сборкой  всем знакомого конструктора LEGO.

Все программы, представленные здесь подбирались по таким критериям:

  • Удобное использование. Естественно пользоваться данными предложениями будет не обученные специалисты, а обычные пользователи, такие как мы с вами. Именно поэтому, приложение должно быть очень удобным, функциональным, и простым в ознакомлении.
  • Интуитивно простой интерфейс. Если говорить логически, то данный пункт как будто вытекает из предыдущего, что значит программа должна быть не просто удобной, но и интуитивно понятной.
  • Большой функционал. Большое разнообразие способов создания приложения это несомненный плюс. Хотя все представленные программы, в среднем, имеют одни и те же функции, за исключением некоторых мелочей.

Ниже познакомимся с подборкой инструментов, которые помогут вам создать свое самое первое приложение.

App Builder — простой инструмент для создания приложений

Developer:

Price:
Free

Хотя тут, есть и минусы, как минимум в том, что он полностью на английском языке

Возможности программы

  • Представлен огромный выбор шаблонов для того, чтобы создать приложение. Если у вас в задумке какое-то простое приложение, то эта программа с легкостью поможет подобрать шаблон;
  • После создания приложения, можно будет следить за его статистикой;
  • Если вы создадите приложение и оно пройдет проверку, то его можно просто и довольно понятно разместить в магазине Google Play.

AppsGeyser — сайт для создания качественных приложений на Андроид своими силами

Этот инструмент более качественный чем предыдущий, ведь здесь намного больше возможностей для создания собственного приложения. Сайт дает возможность создать свою программу буквально за несколько минут. Этот редактор самый простой из всех, что нам встречались. Список приложений, которые он поможет вам сделать очень большой, начиная от обычного браузера и заканчивая собственным мессенджером.

Преимущества AppsGeyser

  • Приложение пишется довольно быстро, буквально в пару кликов;
  • Оно позволяет создать простые игры для Android, ведь согласитесь, что не каждый инструмент сегодня может это сделать;
  • После того как приложение будет готово, его с легкостью можно будет разместить в магазине Гугл Плей;
  • Кроме этого, можно монетизировать вашу программу непосредственно через сервис AppsGeyser. Это полезная функция, ведь проявив свою фантазию, вы можете еще и заработать на этом;
  • Создавайте, редактируйте, публикуйте приложение в онлайн режиме в личном кабинете (чтобы сохранились результаты).

IbuildApp — мощный движок для разработки собственных проектов

Этот инструмент заслуживает действительно досконального рассмотрения. Как мы обсуждали выше, вам не нужно знать языка программирования, чтобы создавать Андроид приложения. Платформа разработки настолько проста, что создать свое собственное приложение будет очень просто. Процесс займет всего несколько минут, зато результат будет очевиден.

Сайт IbuildApp имеет как платные тарифы (разработка индивидуального приложения, с дальнейшим развитием) так и бесплатные шаблоны, которых очень много.

Давайте посмотрим, на что оно способно:

  • Огромный архив тем на самые разные тематики: это могут быть рестораны, кафе, спортивные занятия, а также много других тем, позволяющих подобрать все что угодно. От вас потребуется только подобрать что-то конкретное, а далее отредактировать его под свои нужды;
  • Также в нем есть встроенные способы продвижения созданного приложения. Программа не просто помогает быстро создать приложение, но и раскручивает его. В других случаях этот процесс занимает очень много времени;
  • Кроме того, вы сможете подключить приложение к рекламной сети, а значит будете зарабатывать на нем деньги.

AppsMakerstore — платформа создания простых программ

Четвертая крутая платформа которая разработана для создания Android приложений. Наверно одним из самых главных преимуществ является то, что с помощью сайта AppsMakerStore можно создавать программы которые будут мультиплатформенными (к примеру, на Андроид, iOS и Windows Phone)

Давайте рассмотрим преимущества платформы:

  • Работа с конструктором происходит в режиме онлайн;
  • Возможность бесплатной регистрации;
  • Написание приложений с помощью готовых макетов, при этом огромный выбор шаблонов по теме обеспечен каждому пользователю.

Изучение иностранных языков с помощью программ для чтения

Всем здравствуйте!

Прошло уже какое-то время с моей первой статьи на Хабре. Спасибо всем. Статья, насколько я могу судить, принята сообществом достаточно тепло. Сегодня хотелось бы поговорить о возможностях читалок с точки зрения изучения иностранных языков. Есть много разных методик и способов изучения языков, но один из самых простых, очевидных и доступных — начать читать книгу на другом языке: в адаптированном варианте, если пока «так» не получается, или в нормальном, если уже получается. По своему опыту могу сказать, что особенно приятно читать в оригинале любимого автора.

Так что же нам могут предложить читалки? Размышления на тему под катом.

Как мы сэкономили время курьерам. Логистика в Яндекс.Еде

Всем привет! Меня зовут Роман Халкечев, я руковожу отделом аналитики в Яндекс.Еде. Одно из ключевых направлений этого сервиса — логистика. Эффективность алгоритмов логистики во многом и определяет само существование сервисов доставки. Сегодня я расскажу читателям Хабра о нашем новом алгоритме, который помог курьерам сократить время простоя. Вы узнаете, из чего складывается время ожидания доставки заказа и зачем мы считали скорость приготовления килограмма условной еды. Но обо всём по порядку.

Яндекс.Еда представляет собой маркетплейс: на сервисе есть спрос и есть предложение. Спрос — это заказы пользователей. Предложение — курьеры. Разумеется, под предложением мы также понимаем рестораны, но в контексте этого поста остановимся именно на курьерах. Главная задача сервиса — поддерживать баланс: тогда будут счастливы и пользователи (они быстро получат еду), и курьерские службы (заказов хватит всем курьерам). Чтобы сохранять баланс и переживать локальный рост или падение спроса, нам необходимо повышать эффективность доставки. Под эффективностью мы понимаем оборачиваемость — среднее число заказов, которые курьер успевает доставить за час. Чем выше этот показатель, тем эффективнее работает доставка в целом.

Исследуем баг iOS с помощью Hopper

Технотекст 2020

Привет! Меня зовут Александр Никишин, я занимаюсь разработкой iOS-приложений в компании Badoo. В статье я расскажу о том, как мы исследовали баг в UIKit, который Apple не хотела исправлять на протяжении полугода.
Всё началось в августе 2019 года с первых бета-версий iOS 13. Тогда мы впервые столкнулись с проблемой. В приложениях Badoo и Bumble мы постоянно работаем над улучшением интерфейсов и, например, стараемся максимально оптимизировать нудный и не любимый пользователями процесс регистрации. Системные предиктивные подсказки над клавиатурой — отличный способ сокращения количества кликов пользователя при вводе данных. Однако в новой версии iOS мы с удивлением обнаружили, что подсказки при вводе номера телефона пропали.

Тестовые проекты без боли. Доклад Яндекса

Мы в команде Яндекс.Карт для iOS создаем тестовые проекты с помощью маленького плагина для CocoaPods и нескольких классов утилит. Создание проекта происходит быстро и надежно. Но может, мы слишком заморачиваемся и собрать проект вручную с нужными настройками и зависимостями не так сложно? В докладе я пошел от противного: сначала разобрал ручной процесс, потом наш.

— Сначала маленькая предыстория. Яндекс.Карты собираются больше минуты. На моем компьютере сборка приложения занимает чуть больше трех минут. Мы разрабатываем в тестовых проектах, чтобы тратить меньше времени на каждую сборку. У нас достаточно прокачанная модульность, и для каждого модуля мы делаем тестовый проект. В этом тестовом проекте ведется разработка фичи.

Для чего нужны Flavors

Представьте ситуацию: есть приложение с аналитикой. Есть команда разработки, тестировщики и конечные пользователи. И те, и те пользуются одной версией приложения. Допустим мы хотим проанализировать насколько пользователям интересна фича А. Что в этом случае мы делаем? Идём в аналитику и смотрим сколько было использований данной фичи (например, переходов на экран). Но что же мы видим: запредельное число переходов, которое ну никак невозможно с текущей аудиторией, причём все эти переходы были в какой-то определенный отрезок времени. Мы идём дальше и понимаем, что в это время проводились тесты данной фичи. А чуть ранее её разработка. При этом аналитика также отсылалась. Итог: аналитика получается грязной и некачественной.

Здесь можно заменить слово аналитика на любое другое: пуш-нотификации, креш-репортинг и т.д.

И в этой ситуации нас спасает разделение приложения на две версии отличающиеся минимально, например Bundle ID(package-name). Разработчики и тестеры используют только специальную dev версию, а пользователи продовую.

Это как раз и есть одна из задач flavor’ов. Здесь будет использоваться именно flavor, так как именно это название используется Flutter’ом. Люди, которые знакомы с Android-разработкой, думаю сразу узнали этот механизм.

Энергопотребление Android-приложений

Tutorial

Ваши пользователи жалуются на то, что приложение очень быстро сажает заряд телефона? Запущенный фоновый сервис внезапно останавливается? Сообщения от FCM не доходят до пользователя? Что связывает эти три серьезных вопроса? Ответ прост — неверно выстроенная работа с энергопотреблением приложения.

Давайте разберемся в основных моментах, связанных с этой темой. Возможно, это позволит вам в будущем избежать ошибок, с которыми сталкивалось большинство разработчиков мобильных приложений.

В интернете огромное количество разрозненной информации, собрать которую в единое общее руководство было одной из основных целей этой статьи.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector