В настоящее время мы переживаем бум появления новых технологий и подходов к написанию мобильных приложений. Одной из них является развивающийся SDK от компании JetBrains для мультиплатформенной разработки Kotlin Multiplatfrom (KMP) .
Основная идея KMP, как и других кросс-платформенных SDK — оптимизация разработки путем написания кода один раз и последующего его использования на разных платформах.
Согласно концепции JetBrains, Kotlin Multiplatform не является фреймворком. Это именно SDK, который позволяет создавать модули с общим кодом, подключаемые к нативным приложениям.
Написанный на Kotlin модуль компилируется в JVM байткод для Android и LLVM байткод для iOS.
Делаем первое мобильное приложение для iOS и Android [React Native, JavaScript]
Этот модуль (Shared, Common) содержит переиспользуемую бизнес-логику. Платформенные модули iOS/Android, к которым подключен Shared/Common, либо используют написанную логику напрямую, либо имплементируют свою реализацию в зависимости от особенностей платформы.
Общая бизнес-логика может включать в себя:
- сервисы для работы с сетью;
- сервисы для работы с БД;
- модели данных.
Также в нее могут входить архитектурные компоненты приложения, напрямую не включающие UI, но с ним взаимодействующие:
- ViewModel;
- Presenter;
- Интеракторы и т.п.
Концепцию Kotlin Multiplatform можно сравнить с реализацией Xamarin Native. Однако, в KMP нет модулей или функционала, реализующих UI. Эта логическая нагрузка ложится на подключенные нативные проекты.
Рассмотрим подход на практике и попробуем написать наше первое приложение Kotlin Multiplatform.
Для начала нам потребуется установить и настроить инструменты:
- Android Sdk
- Xcode с последним iOS SDK.
- Intelij IDEA CE или Android Studio. Обе IDE позволяют создавать и настраивать проекты для Kotlin Multiplatform. Но если в Intelij IDEA проект создается автоматически, то в Android Studio большую часть настроек надо сделать вручную. Если вам привычнее работать именно с Android Studio, то подробное руководство по созданию проекта можно посмотреть в документации на Kotlinlang.org
Разработка приложений для iOS и Android

Данная статья представляет собой полное руководство по разработке приложений для iOS и Android. Узнайте важные отличия приложений в iOS (iPhone OS) и Android — разработка навигации, поиска, кнопки призыва к действию, разработка меню, даты, вкладки, разработка типографии, стиль текста, размер иконок и т.д.
- Если вы не имеете приложение для iOS и Android, то с помощью этого руководства вы узнаете, как сделать разработку приложения правильно.
- Если уже имеете приложение на одной из платформ iOS или Android, то сможете легко сделать разработку приложения на другой платформе. А именно, перевести iOS в Android или Android в iOS.
Разработка приложения для iOS и Android: Верхняя навигация
Как создать МОБИЛЬНОЕ ПРИЛОЖЕНИЕ без программирования? ПОШАГОВЫЙ гайд.
Приложения iOS и Android имеет разные стандарты отображения верхней части экрана.
Справа в приложении размещается основное действие. Если единичное действие, то отображается в виде текстовой ссылки. Несколько действий – в виде иконок.
При разработке в Android заголовок страницы и кнопка «Назад» размещается слева в приложении. Справа размещаются действия или иконки.
Разработка приложения: основная навигация

Основная навигация в приложениях iPhone OS и Android расположена по-разному. При разработке iPhone OS навигация размещена в нижней части экрана и представлена в виде 2-5 вкладок. Размер шрифта – 10px. Во вкладках представлены популярные разделы.
Многие популярные сторонние приложения для iPhone OS учитывают следующие правила при разработке:
- Если вкладка представляет основное действие — например, добавление новой фотографии — то располагается по центру в приложении.
- Вкладка профиля или настроек размещается последней.
- Поиск размещается вторым.
Но в приложениях iPhone OS по умолчанию:
- Действия на вкладках не размещаются.
- Нет вкладок, связанных с профилем или настройками.
- Поиск в приложении размещается последним.
В приложениях Android основная навигация размещена по всему интерфейсу между кнопкой гамбургера, панелью поиска, вкладками и кнопкой плавающего действия. В последнее время Android начал использовать нижнюю навигацию.
Вторичная навигация
В iPhone OS приложении разделы, которые не поместились в основной навигации, размещаются во вкладке «Дополнительно» (More) или отображается в верхнем левом или правом углу экрана.
При разработке Android приложений — вторичная навигация размещается в боковом меню, доступном при нажатии кнопки гамбургера. Советую избегать то, что скрывает важные вещи, поскольку очевидное всегда лучше.
Навигация «Назад» для приложений iPhone OS и Android
Для приложений iPhone OS вы можете перемещаться назад 4 различными способами, в зависимости от контекста.
Способ навигации «Назад» (iPhone OS) | Контекст, в котором работает |
Нажмите «Назад» в левом верхнем углу экрана | Любой экран, на котором появляется действие «Назад» |
Проведите вправо от левого края экрана | Любой экран, на котором в левом верхнем углу отображается действие «Назад» |
Нажмите «Готово» в правом верхнем углу экрана | Нередактируемые модальные окна |
Проведите пальцем вниз по экрану | Модальные или полноэкранные окна |
Что такое модальные и полноэкранные окна?
Модальные окна — это одноэкранные задачи — появляются, скользя пальцем вверх, и располагаются поверх предыдущего экрана, который немного виден на заднем плане. Вы можете закрыть модальное окно, проведя пальцем вниз или нажав кнопку «Назад» вверху.
Полноэкранные просмотры — например, видео или фотография — занимают весь экран. Могут быть закрыты, проводя пальцем вниз в приложениях iPhone OS и Android.
В Android приложениях навигация «Назад» проще. Для Android 10 и выше просто проведите пальцем с любой стороны экрана. Для Android 9 используется кнопка «Назад» в левом нижнем углу экрана.
Кнопки призыва к действию
В iPhone OS приложениях кнопка находится в правом верхнем углу. В Android приложениях часто отображается в правом нижнем углу, как кнопка с плавающим действием.
Стоит отметить, что в iPhone OS и Android приложениях есть исключения. Важные действия в iPhone OS приложениях иногда отображаются на нижней панели инструментов. В Android приложениях — в верхней части экрана.
Поиск в приложениях
Различия между поиском:
- Чтобы отменить поиск, нажмите «Отмена» в iPhone OS или «←» в Android приложениях.
- Чтобы очистить текущий запрос, но остаться на экране поиска, нажмите «X» в iPhone OS или «X» на Android приложениях.
Если поиск является важной функцией, то iPhone OS и Android приложения сразу отображают панель поиска. На этих платформах нажатие на строку поиска откроет отдельный экран. Когда поиск не так критичен или не так часто используется, то вы можете получить к нему доступ из других мест.
В iPhone OS приложениях поиск отображается, как одна из вкладок в основной навигации или действие в верхней навигационной панели. В Android приложениях — в верхней панели.
Меню действий в приложениях
В iPhone OS приложениях меню действий могут быть вызваны любой кнопкой или попыткой предпринять какое-либо действие. Меню появляется снизу вверх.
В Android приложениях меню действий появляется только при нажатии трехточечного знака «Кебаб-меню» (знак Android для «Дополнительных параметров»). Появление снизу происходит, когда несколько действий.
В iPhone OS 13 контекстное меню отображает связанные действия при нажатии и удерживании элемента. Когда отображается контекстное меню, фон размыт.
В Android приложениях меню отображается прямо на элементе. В более новых версиях Android меню закрывает иконку «Кебаб-меню» (три точки).
Элементы управления выбором
В iPhone OS приложениях для выбора из небольшого числа вариантов используйте элемент «Picker». Сборщики могут отображаться закрепленными внизу (как показано на картинке) или встроенными в содержимое (например, «Сборщики дат» смотрите дальше).
В Android для выбора из нескольких опций используется выпадающее меню (которое отображается на месте) или модальное окно (которое отображается по центру и затемняет фон приложения).
Для более длинных списков часто встречается выделенный экран выбора как на iPhone OS, так и на Android. Частая ошибка в мобильном дизайне — не выделение полного экрана для выбора варианта с большим количеством опций.
Даты
В iPhone OS выбор даты имеет вид, как на картинке — со столбцом для дня, месяца и, необязательно, года.
В Android вы можете включить год, не включать его или позволить пользователю выбирать, хотят ли они включить его.
Вкладки
В iPhone OS вкладки представляют собой кнопки для перехода в форме табов. В Android вкладки выполнены в привычном нам стиле.
Действие «Отменить»
В iPhone OS оповещение часто отображается в центре, либо в нижней части экрана. Деструктивные действия (например, удаление чего-либо) имеют красный цвет.
Для Android некоторые предупреждения появляются в центре экрана. Однако для оповещений, которые не требуют ввода пользователя и исчезнут через несколько секунд, используются «Снэк-бары».
Они сообщают пользователю, что действие было успешным. Вы можете добавить одно или два действия — что делает «Снэк-бары» отличным решением для «Отменить». Дайте пользователям возможность исправить ошибку. А когда они принимают важное решение, дважды спросите их.
Типография
По умолчанию iPhone OS использует шрифт — San Francisco. Отличный шрифт для удобочитаемости при небольших размерах.
Для Android шрифт по умолчанию — Roboto. Очень похож на шрифт San Francisco. Также в Android часто используется шрифт Product Sans от Google, который недоступен для стороннего использования.
Стили текста
Стандарты для iPhone OS: шрифт текста и навигации — 17pt, заголовок — 34pt, вторичный текст — 15pt и минимальный размер шрифта — 10pt.
Стандарты для Android: шрифт текста — 16sp, заголовок, текст кнопок и навигация — 14sp, надписи, текст ошибок и вторичный текст — 12sp.
Размер иконок
Размер иконок для приложений iPhone:
Размер иконки | Где используется |
180×180 px | Главный экран iPhone для телефонов (11 Pro, X, Xs, 8+) |
120×120 px | Главный экран iPhone для телефонов (11, XR, 8) |
1024×1024 px | Магазин приложений — App Store |
Иконка может быть и других размеров, но если вы нарисуете ее в 60px, то убедитесь, что она хорошо выглядит в 120×120, 180×180 и 1024×1024 px.
Размер иконок для приложений Android:
Размер иконки | Где используется |
48×48 px | Главный экран (телефоны со средним разрешением) |
48×48 px | Главный экран (телефоны со средним разрешением) |
72×72 px | Главный экран (телефоны с высоким разрешением) |
96×96 px | Главный экран (телефоны xhdpi) |
144х144 px | Главный экран (телефоны xxhdpi) |
192×192 px | Главный экран (телефоны xxxhdpi) |
512×512 px | Google Play store (все устройства) |
Если вы создали красивую иконку с разрешением 48×48 px, то увеличьте изображение до 400% и убедитесь, что она отлично выглядит. И затем создайте отдельную версию с разрешением 512×512 px.
Минимальный размер области нажатия
iPhone OS | 44×44 pt |
Android | 48×48 dp |
Точки Apple (pt) и независимые от устройства пиксели Android (dp) функционально эквивалентны. Они просто ссылаются на базовый размер (как и пиксели в CSS), который определяет разрешение экрана (нормальное, высокое, сверхвысокое и т.д.)
Android имеют больший размер целевой области и меньшее количество пикселей на экране, чем iPhone OS.
Теперь вы знаете основные различия. Данное руководство поможет вам при разработке на данных платформах.
Ответьте на 3 вопроса и узнайте,
насколько увеличим продажи вашего сайта
Источник: prof-mk.ru
Как создавать приложения для iOS и Android с нуля полному новичку без навыков программирования?
Путь к программным разработкам непрост, но если интересует, как создать приложение для iOS и android, то с чего-то начинать нужно. Но, допустим, нет желания изучать языки программирования, а хочется сразу перейти к созданию готового продукта. Возможно ли такое? Да, ещё как! Вот мы и рассмотрим, как создать приложение для iOS полному новичку (или на Android).
Поиск материала
Для создания хорошей игры многие ищут руководства. Они полезны для пошагового обучения и понимания азов, но для сложных проектов этого мало. Так, человек должен обладать навыками решения проблем, которые возникают. А это приходит только с опытом, и руководства, увы, здесь не помогут.
Поэтому лучший ответ на вопрос «Как создать приложение для iOS 9 самостоятельно» (или на «Андроид») – это начать над ним работать. А вот как происходит этот процесс, мы давайте и разберёмся.
Выбираем направление
Многие люди рекомендуют не начинать с больших проектов вроде ММО, 3D FPS и так далее. В качестве аргументации используется тот факт, что многие забрасывают свою разработку, не завершив её. Поэтому и рекомендуют начинать с небольших проектов. Но вместе с этим можно услышать мысль и о том, что необходимо определиться с идеей и начать её воплощать.
Пускай у человека уйдёт год или даже больше, но в конечном итоге он сделает всё то, что нужно. Но необходимо взвешивать и понимать все риски, поскольку даже небольшая ошибка, допущенная вначале, может оказаться значительной проблемой уже на окончательной стадии создания проекта. Поэтому необходимо качественно, взвешенно и очень внимательно проработать имеющиеся теоретические вопросы.
Для простоты работы один крупный проект можно разделить на большое количество маленьких. Но после того как будет завершен один модуль, его необходимо соединить с уже имеющимися наработками.
Обработка событий: главное
Когда будет начата работа, следует браться за самое лёгкое, где не нужно переживать за наличие сложных алгоритмов или искусственного интеллекта. При этом необходимо стараться изо всех сил понять фундаментальные основы игровой архитектуры и логики. В данном случае оптимальным будет что-то, что действует по пошаговому принципу.
Рассматривая, как создавать приложения для iOS с нуля, нельзя не упомянуть о таком совете: начинайте с костяка программы. Отдельные детали несложно будет доработать на окончательном этапе.
Различные действия
К наиболее используемым можно отнести движения, столкновения, синхронизацию и анимацию. Кроме них большую важность имеют игровые циклы, вычисление очков, определение состояния победы или поражения, а также другие важные базовые концепции, которые используются во многих приложениях. Так, начинать рекомендуется с обнаружения столкновений, переходов между уровнями, создания минимальной логики, примитивного искусственного интеллекта и так далее. Также можно попробовать разбивать программу на два-три файла для достижения наилучшего результата с точки зрения оптимизации используемых ресурсов. При этом желательно стараться, чтобы всё было в рамках разумного, и приложение не получилось излишне большим.
Выходим на более сложный уровень
Перед этим этапом человек уже должен понимать и знать, как создать приложение для iOS или «Андроид». Оно предусматривает наличие тщательно проработанной архитектуры, что обуславливает необходимость использования планирования. Так, часто необходимо иметь продвинутую физику (например, распознавать столкновения разных объектов и различных типов поверхностей). Это необходимо для того, чтобы приложения (в данном случае игры) были более реалистичными.
Достаточно вспомнить Super Mario – в ней гравитация и инерция сделаны так, что создают ощущение их реального наличия. В качестве серьезной задачи для мозгов можно рассмотреть такую игру, как бильярд.
При желании создавать программы, нацеленные на полезную деятельность, необходимо учитывать другие особенности. Среди них следующие: точность обрабатываемых и сохраняемых данных и используемых формул; правильность всех путей; стабильность приложения; оптимальное использование имеющихся ресурсов и так далее. Возвращаясь к теме об играх, отметим, что хороший результат смогут в данном случае показать редакторы уровней, которые упрощают написание сложных разработок.
Работа над искусственным интеллектом
Успех современных игр лежит в их принципе взаимодействия нескольких людей. Но наличие искусственного интеллекта позволяет вносить ряд интересных аспектов, поэтому полностью его не игнорируют, а используют в качестве хорошего дополнения.
Для упрощения выполнения задач часто используют определённые алгоритмы. Конечно, для этого, как правило, необходимо ещё и хорошо понимать математику, но благодаря интернету удастся разобраться практически в чем угодно без наличия начальных знаний. Также алгоритмы полезны для взаимодействия на различной сложности игрового процесса. В приложениях искусственный интеллект может осуществлять анализ действий пользователя и предлагать оптимальные для него варианты работы.
Используем сеть
Рассматривая вопрос о том, как создавать приложения для iOS или «Андроид», следует сказать, что добавление интернета значительно усложняет поставленную задачу. Так, например, необходимо позаботиться о том, чтобы действия одного игрока передавались другим. Для этого, как правило, используется сервер в качестве посредника. Чем лучше он будет сделан, тем более надёжной будет разработка. Но вместе с этим возрастёт и нагрузка.
Для приложений, где отрицательно сказываются сетевая задержка и потеря пакетов, придётся разрабатывать всё по максимуму оптимально. В первую очередь под этим подразумеваются программы, которые обмениваются значительными массивами данных. Для понимания рабочих механизмов здесь очень рекомендуется использование локального хоста и небольших программ, которые передают малые объемы информации (в качестве примера можно привести чаты). К тому же из-за особенностей используемых протоколов часто приходится делать выбор между скоростью и надёжностью.
Вот мы и рассмотрели, как создавать приложения для iOS с нуля. Как видите, для этого нужно много учиться и практиковаться. А можно ли обойтись без этого? Как ни странно, такое вполне реально. Давайте про это и поговорим.
Разработка без изучения программирования
Особенно это является актуальным в случаях, когда нужно быстро сделать небольшую программу для сайта с простым функционалом. Хотя к подобному могут прибегнуть и опытные веб-разработчики. В этом на помощь приходят специальные сервисы. Их всех можно объединить под лозунгом «Просто, дешево и быстро!»
В качестве примеров приведем следующие сервисы: AppsGeyser, TheAppBuilder, Appsmakerstore, Biznessapps, My-apps.com, iBuildApp, Viziapps, AppMakr, Mobile Roadie и AppsBuilder. Каждый из них обладает своими уникальными особенностями и функциями.
Также необходимо понимать, что практически все они являются платными. А бесплатные версии не обладают широким функционалом. Если же рассматривать их общую схему, то можно сказать, что они отображают рассмотренную нами ранее идею редакторов уровней. Но в данном случае они являются охватывающими очень широкие рамки.
Здесь, отвечая на вопрос о том, как создать приложение для iOS без навыков программирования, нужно ещё и озаботиться тем, что за такую роскошь придётся заплатить, причем немаленькую сумму. Подобные серверы являются зарубежными или ориентированными в первую очередь на заграничных пользователей. Так, цена их услуг будет колебаться от 10 долларов до нескольких сотен за один месяц использования. То есть время – деньги. В данном случае необходимо будет позаботиться о том, чтобы представленные возможности использовались по максимуму.
Функционал сервисов
Вот мы и рассмотрели, как создавать приложения для iOS и «Андроид». Теперь давайте уделим внимание имеющемуся у них функционалу. Если его разделить по категориям, то у нас будет следующее:
- Нацеленные на работу с контентом. Такие сервисы помогают собрать информацию с сайта и объединить её в одно приложение. В качестве примера можно привести AppsGeyser. Причем в данном случае можно не только собрать информацию, но и размещать рекламу в приложениях.
- Условно-бесплатные сервисы, которые с использованием шаблонов и конструкторов позволяют создавать приложения для спорта, образования, музыки и так далее. Правда, в них будет присутствовать реклама, которую можно отключить за определённую сумму. В случае с TheAppBuilder это обойдётся в 5 долларов США.
- Платные сервисы-конструкторы, которые позволяют создавать приложения бизнес-направления. В качестве их функционала предоставляется корзина для товаров, геолокация, размещение информации об имеющихся товарах и услугах, ближайших событиях и акциях и так далее. В качестве примера можно привести упомянутый ранее сервис Biznessapps, но цены на нём кусаются, ведь они начинаются от 29 долларов США.
- Создание приложений бесплатное, деньги требуются тогда, когда оно публикуется в магазине (например, в «Гугл Плей Маркете»). В качестве примера можно привести BuildFire. Правда, его особенность в том, что платить здесь нужно только раз в месяц. Сумма в этом случае составляет 49 долларов США.
Как видите, есть два варианта создания приложений для iOS и для «Андроид». Какой из них в конечном счете выбрать, решает пользователь.
Источник: fb.ru