Кросс платформенный это: Что такое кроссплатформенность /
Что такое кроссплатформенность /
Яндекс.Директ, Яндекс Маркет, Google Adwords, Google Merchant, Ремаркетинг
Получи нашу книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».
Подпишись на рассылку и получи книгу в подарок!
Кроссплатформенность — это способность сайта работать с более чем одной операционной системой, например, с устройствами на Windows и на Linux и т.д.
Больше видео на нашем канале — изучайте интернет-маркетинг с SEMANTICA
Представьте, что вы — владелец магазина. Вы сделали дорогостоящий ремонт, представили широкий ассортимент товаров, потратили много времени и средств на раскрутку и рекламу. Магазин находится на пятом этаже здания, где нет лифта, нет парковки, нет пандусов на входе. Людям негде оставить машину, некоторым будет тяжело подняться на 5 этаж. Затраты на ремонт и рекламу не оправдают себя. Клиентов не будет. Нужно подумать о том, чтобы людям было удобно ходить в ваш магазин.
Аналогичная ситуация и с сайтом: каждый посетитель — это потенциальный покупатель товаров или услуг. Все они могут использовать устройства на разных платформах, поэтому ресурс должен стабильно функционировать на каждой.
На что влияет кроссплатформенность сайта
Часто пользователь дома просматривает страницу интернет-магазина со стационарного компьютера, работающего на Windows, а затем по пути на работу открывает эту же страницу с телефона или планшета на базе Android или iOS. Задача разработчика — сделать сайт удобным для просмотра с любых устройств.
Например, сайт Ozon.ru на стационарном компьютере на платформе Windows выглядит так:
На смартфоне, работающем на базе Android. аналогичная страница выглядит так:
Ozon.ru одинаково выглядит и работает на Windows и Android. Это пример кроссплатформенного ресурса.
Учитывайте при верстке, что посетители заходят с разных устройств и не забывайте следить, чтобы:
- правильно отображались цвета;
- правильно располагались объекты на странице;
- правильно отображались шрифты;
- работали ссылки;
- была одинаковой скорость загрузки;
- не накладывались элементы интерфейса друг на друга;
- не обрезалась часть страницы на устройстве с меньшим размером экрана.
Как достигается кроссплатформенность сайта
Определитесь, на кого рассчитан ваш сайт. Люди постарше чаще используют компьютер, а помладше — смартфоны.
Существуют статистические источники, предлагающие информацию об используемых браузерах и операционных системах. Компания DCA — Data-Centric Alliance — провела исследование для определения популярности операционных систем в отдельных регионах России. Предполагалось, что каждый интернет-пользователь работает лишь с одной операционной системой. Для исследования использовались данные 5 миллионов пользователей Windows, Android, Mac OS X, Linux, iOS и т.д.
Кроссплатформенность достигается несколькими путями:
Используйте кроссплатформенность языков программирования
Кроссплатформенные языки типа C, С++, Free Pascal имеют специальные механизмы для адаптации кода под другую платформу. Это очень удобно, поскольку требует переписывания не всего кода, а лишь его фрагментов.
Сделайте кроссплатформенный интерфейс
При работе с устройствами на разных платформах стандартные элементы интерфейса могут искажаться, поэтому используется либо стандартная схема расстановки элементов управления, либо самоадаптирующийся интерфейс.
Ведите разработку в кроссплатформенных средах
Например, Java Virtual Machine или .NET, где не требуется дополнительная перекомпиляция (адаптация) элементов сайта под новые требования.
Адаптируйте код
Если у вас есть нескольких версий одного кода, адаптированных под разные платформы, время на обработку сократится. Вы можете менять только необходимые элементы кода. Например, браузер Mozilla Firefox имеет разные наборы иконок под разные ОС.
Адаптивный веб-дизайн
Это автоматическая адаптация сайта под устройства с разным размером экрана. Не нужно разрабатывать мобильную версию или специальный комплект иконок.
Существует несколько вариантов адаптации:
- Растягивание или сжатие блоков до размеров экрана. Если это невозможно, они выстраиваются в ряд.
- Блоки выстраиваются по вертикали. Ширина экрана — это ширина одного блока.
- Для небольших ресурсов используйте масштабирование объектов и изображений.
- Страница делится на несколько блоков. На большом экране все блоки отображаются одновременно. На меньшем экране блоки отображаются по очереди. Пользователи перелистывает блоки и находит нужный.
- Изменение навигации.
Плюсы адаптации сайта для SEO:
- удобство для пользователей;
- отсутствие дублей страниц, в отличие от мобильной версии.
На Symby.ru можно пройти тест на адаптивность и получить рекомендации по устранению ошибок.
Adaptivator.ru работает с наиболее популярными моделями гаджетов и помогает адаптировать сайт под их размеры.
Кроссбраузерность сайта
Это способность сайта работать в Google Chrome, Opera, Mozilla Firefox и других браузерах, не теряя при этом скорости работы и читабельности страниц. Если некоторые страницы сайта не могут работать в том или ином браузере, пользователь видит сообщение с предложением сменить браузер. Задача разработчика — уменьшить количество таких страниц и сделать сайт пригодным для любого браузера.
Проверка на кроссплатформенность
Тесты на кроссплатформенность показывают, как отображается сайт на разных устройствах и указывает на ошибки в коде.
Инструмент Microsoft Expression Web SuperPreview позволяет сравнивать выбранные участки страниц в разных браузерах и операционных системах и показывает различия в отображении элементов анализируемых страниц.
Помимо этого, Microsoft Expression Web SuperPreview позволяет сравнивать проект сайта с тем, что получилось в процессе разработки и исправлять обнаруженные ошибки в верстке.
платформенность — это… Что такое Кросс-платформенность?
- Кросс-платформенность
Кроссплатформенное программное обеспечение — программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе.
Языки программирования
Кроссплатформенными можно назвать большинство современных высокоуровневых языков программирования. Например, C, С++ и Free Pascal — кроссплатформенные языки на уровне компиляции, то есть для этих языков есть компиляторы под различные платформы. C# — кроссплатформенные языки на уровне выполнения, то есть их исполняемые файлы можно запускать на различных платформах без предварительной перекомпиляции. Perl, Tcl и кроссплатформенные интерпретируемые языки, их интерпретаторы существуют для многих платформ.
Прикладные программы
Большое количество прикладных программ также являются кроссплатформенными. Особенно это качество выражено у программ, изначально разработанных для POSIX, а также существование компилятора GCC для платформы, на которую осуществляется перенос.
Примеры:
Операционные системы
Современные операционные системы также часто являются кроссплатформенными. Например, операционные системы с открытым исходным кодом, например, GNU/Linux, AROS могут работать на нескольких различных платформах, чаще всего это m68k, Alpha, SPARC. Microsoft Windows может работать как на платформе x86, так и на Intel NetBSD является самой переносимой, она портирована на большинство существующих платформ.
Эмуляция
Если программа не предназначена для исполнения (запуска) на определённой платформе, но для этой платформы существует эмулятор платформы, базовой для данной программы, то программа может быть исполнена в среде эмулятора.
Обычно исполнение программы в среде эмулятора приводит к снижению производительности по сравнению с аналогичными программами, для которых платформа является базовой, так как значительная часть ресурсов системы расходуется на выполнение функций эмулятора.
См. также
Ссылки
Wikimedia Foundation.
2010.
- Кросс-платформенное программное обеспечение
- Кросс-толерантность
Смотреть что такое «Кросс-платформенность» в других словарях:
Кросс-браузерность — Кросс браузерность свойство сайта отображаться и работать во всех популярных браузерах идентично. Под идентичностью понимается отсутствие развалов верстки и способность отображать материал с одинаковой степенью читабельности. Понятие… … Википедия
Кроссбраузерный — Кросс браузерность свойство сайта отображаться и работать во всех популярных браузерах идентично. Под идентичностью понимается отсутствие развалов верстки и способность отображать материал с одинаковой степенью читабельности. Понятие… … Википедия
MODx — Тип CMS/CMF Разработчик MODx Team Операционная система Кросс платформенное программное обеспечение Последняя версия 2.1.3 pl (21 июля, 2011) Лицензия … Википедия
MODX — Тип CMS/CMF Разработчик MODX Team … Википедия
Phonon — Тип мультимедийный фреймворк Разработчики Маттиас Крец, команда разработчиков Phonon Написана на C++ Операционная система кросс платформенное программное обеспечение … Википедия
Gecko — Тип Браузерный движок Разработчик Mozilla Foundation / Mozilla Corporation Написана на C++ Операционная система Кроссплатформенное ПО Последняя версия 17 (каждая новая версия соответствует версии … Википедия
BOINC — Тип Распределённые вычисления Разработчик … Википедия
InterBase — Interbase СУБД от компании Borland. История Основой InterBase был проект, разработанный Джимом Старки (Jim Starkey) во время работы над СУБД Datatrive. Джим создал его как реализацию своей идеи базы данных с многоверсионной архитектурой. В… … Википедия
Songbird — Songbird … Википедия
Syntext Serna — Тип Редактор XML Разработчик Syntext, Inc Операционная система Кросс платформенность Последняя версия 4.4 (14 ноября 2011) Лицензия Проприетарная (Enterprise), GNU GPL (Free) … Википедия
Кроссплатформенное ПО — это… Что такое Кроссплатформенное ПО?
- Кроссплатформенное ПО
Кроссплатформенное программное обеспечение — программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе.
Языки программирования
Кроссплатформенными можно назвать большинство современных высокоуровневых языков программирования. Например, C, С++ и Free Pascal — кроссплатформенные языки на уровне компиляции, то есть для этих языков есть компиляторы под различные платформы. C# — кроссплатформенные языки на уровне выполнения, то есть их исполняемые файлы можно запускать на различных платформах без предварительной перекомпиляции. Perl, Tcl и кроссплатформенные интерпретируемые языки, их интерпретаторы существуют для многих платформ.
Прикладные программы
Большое количество прикладных программ также являются кроссплатформенными. Особенно это качество выражено у программ, изначально разработанных для POSIX, а также существование компилятора GCC для платформы, на которую осуществляется перенос.
Примеры:
Операционные системы
Современные операционные системы также часто являются кроссплатформенными. Например, операционные системы с открытым исходным кодом, например, GNU/Linux, AROS могут работать на нескольких различных платформах, чаще всего это m68k, Alpha, SPARC. Microsoft Windows может работать как на платформе x86, так и на Intel NetBSD является самой переносимой, она портирована на большинство существующих платформ.
Эмуляция
Если программа не предназначена для исполнения (запуска) на определённой платформе, но для этой платформы существует эмулятор платформы, базовой для данной программы, то программа может быть исполнена в среде эмулятора.
Обычно исполнение программы в среде эмулятора приводит к снижению производительности по сравнению с аналогичными программами, для которых платформа является базовой, так как значительная часть ресурсов системы расходуется на выполнение функций эмулятора.
См. также
Ссылки
Wikimedia Foundation.
2010.
- Кроссосоматоцветные
- Кроссплатформенное приложение
Смотреть что такое «Кроссплатформенное ПО» в других словарях:
Кроссплатформенное приложение — Кроссплатформенное программное обеспечение программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе. Содержание 1 Языки программирования 2 Прикладные программы … Википедия
КРОССПЛАТФОРМЕННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ — Программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе Словарь бизнес терминов. Академик.ру. 2001 … Словарь бизнес-терминов
Кроссплатформенное программное обеспечение — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете … Википедия
Кросплатформенность — Кроссплатформенное программное обеспечение программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе. Содержание 1 Языки программирования 2 Прикладные программы … Википедия
Кросс-платформенное программное обеспечение — Кроссплатформенное программное обеспечение программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе. Содержание 1 Языки программирования 2 Прикладные программы … Википедия
Кросс-платформенность — Кроссплатформенное программное обеспечение программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе. Содержание 1 Языки программирования 2 Прикладные программы … Википедия
Кроссплатформенность — Кроссплатформенное программное обеспечение программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе. Содержание 1 Языки программирования 2 Прикладные программы … Википедия
Переносимость (программное обеспечение) — Кроссплатформенное программное обеспечение программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе. Содержание 1 Языки программирования 2 Прикладные программы … Википедия
Платформонезависимость — Кроссплатформенное программное обеспечение программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе. Содержание 1 Языки программирования 2 Прикладные программы … Википедия
ER-модель данных — У этого термина существуют и другие значения, см. ER. Модель сущность связь (ER модель) (англ. entity relationship model, ERM) модель данных, позволяющая описывать концептуальные схемы предметной области. ER модель используется при… … Википедия
Кроссплатформенность — это… Что такое Кроссплатформенность?
- Кроссплатформенность
Кроссплатформенное программное обеспечение — программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе.
Языки программирования
Кроссплатформенными можно назвать большинство современных высокоуровневых языков программирования. Например, C, С++ и Free Pascal — кроссплатформенные языки на уровне компиляции, то есть для этих языков есть компиляторы под различные платформы. C# — кроссплатформенные языки на уровне выполнения, то есть их исполняемые файлы можно запускать на различных платформах без предварительной перекомпиляции. Perl, Tcl и кроссплатформенные интерпретируемые языки, их интерпретаторы существуют для многих платформ.
Прикладные программы
Большое количество прикладных программ также являются кроссплатформенными. Особенно это качество выражено у программ, изначально разработанных для POSIX, а также существование компилятора GCC для платформы, на которую осуществляется перенос.
Примеры:
Операционные системы
Современные операционные системы также часто являются кроссплатформенными. Например, операционные системы с открытым исходным кодом, например, GNU/Linux, AROS могут работать на нескольких различных платформах, чаще всего это m68k, Alpha, SPARC. Microsoft Windows может работать как на платформе x86, так и на Intel NetBSD является самой переносимой, она портирована на большинство существующих платформ.
Эмуляция
Если программа не предназначена для исполнения (запуска) на определённой платформе, но для этой платформы существует эмулятор платформы, базовой для данной программы, то программа может быть исполнена в среде эмулятора.
Обычно исполнение программы в среде эмулятора приводит к снижению производительности по сравнению с аналогичными программами, для которых платформа является базовой, так как значительная часть ресурсов системы расходуется на выполнение функций эмулятора.
См. также
Ссылки
Wikimedia Foundation.
2010.
- Кроссплот
- Кросспост
Смотреть что такое «Кроссплатформенность» в других словарях:
IBM Lotus Notes — Lotus Notes Тип Groupware Разработчик IBM Lotus Software … Википедия
Luminous Studio — Игровой движок (Список) Разработчик … Википедия
Пролог (язык программирования) — У этого термина существуют и другие значения, см. Пролог. Пролог Семантика: логическое программирование Появился в: 1972 Автор(ы): Alain Colmerauer Расширение файлов: .pl .pro .P … Википедия
Miranda IM — У этого термина существуют и другие значения, см. Миранда. Miranda IM … Википедия
ΜTorrent — µTorrent Тип Файлообменные сети … Википедия
Магическое число (программирование) — У этого термина существуют и другие значения, см. Магическое число. Понятие «Магическое число» в программировании имеет два значения: первое второе Содержание 1 Сигнатура данных 2 Плохая практик … Википедия
Synfig — Synfig … Википедия
QIP Infium — У этого термина существуют и другие значения, см. QIP. QIP Infium … Википедия
QIP 2005 — У этого термина существуют и другие значения, см. QIP. QIP Тип Программа мгновенного обмена сообщениями Разработчик Ильхам Зюл … Википедия
UTorrent — µTorrent Тип Файлообменные сети Разработчик Ludvig Strigeus (англ.) Написана на C++ ОС Microsoft Windows, Mac OS X … Википедия
Что такое нативные и кроссплатформенные приложения? Плюсы и минусы.
- Что такое нативные приложения?
- Что из себя представляют кроссплатформенные приложения?
- Какие инструменты для разработки кроссплатформенных приложений применяют чаще всего?
- Преимущества и недостатки нативного подхода
- Преимущества и недостатки кроссплатформенных приложений
- Вывод
Мировая статистика использования смартфонов показывает абсолютное преобладание всего двух мобильных операционных систем. Так, по данным портала statista.com, во втором квартале 2018 OS Android была установлена на 88% всех используемых смартфонов, а iOs – на 11.9%. Данные портала netmarketshare.com, в свою очередь, показывают на апрель 2019 для OS Android – 69.63%, а для iOs — 28.50%.
По состоянию на март 2019 в Google Play Store находилось более 2 600 000 приложений. В Apple App Store, по данным на июль 2018 – 2 450 220 приложений. В течение последних лет количество доступных приложений растет на сотни тысяч в год. По прогнозам statista – к 2020 году объем рынка мобильных приложений приблизится к 190 млрд $. При таком, постоянно растущем количестве конкурентов, перед разработчиками мобильных приложений встает вопрос — какой подход использовать в разработке, чтобы новые, конкурентоспособные приложения:
- разрабатывались быстро;
- получались качественными и надежными;
- легко обновлялись и поддерживались;
- легко задействовали все необходимые возможности платформы.
Фактически, рынок заставляет разработчика делать выбор между разработкой кроссплатформенных приложений и разработкой нативных приложений. Рассмотрим детальнее, что представляет из себя каждый из указанных подходов.
Нативные приложения (от англ. native — родной) разрабатываются под конкретную аппаратно-программную платформу и пишутся на языках, созданных для данной платформы. И iOs, и Android имеют свои SDK (от англ. software development kit — набор средств разработки) и свой стек технологий, завязанные на определенный язык программирования. Например, родными языками для Android являются Java и Kotlin, для iOS, соответственно — Swift и Objective-C.
Нативные приложения создаются специально для запуска на целевой платформе — с поддержкой всех нативных технологий и аппаратных возможностей конкретной платформы.
Как следует из названия, кроссплатформенность подразумевает создание приложений, которые могут работать в различных операционных системах. После написания кода приложения его можно развернуть на разных устройствах и платформах, не беспокоясь о проблемах несовместимости. Это универсальный подход, который широко используется для экономии времени и денег на разработку. Часто для этого используются специализированные кроссплатформенные фреймворки.
Примером такой разработки является применение фреймворка Xamarin для создания приложений, работающих не только на Windows. Благодаря использованию Mono (опенсорс реализации платформы .Net), проекты, написанные на C#, успешно запускаются на Unix-like системах – iOs, Android, Linux.
Ссылаясь на статистику appfigures.com можно выделить такие инструменты:
Как мы видим наиболее часто применяемым инструментом разработки кроссплатформенных мобильных приложений на конец 2017 года был Cordova – 39.89%. Вторым по частоте применения инструментом является Unity – 30.93%. Третьим – Adobe Flash с 10.39%. Следом идут Cocos2D – 9.37%, Xamarin – 4.5%, Appcelerator – 3.79%, Corona – 2.68%, React Native – 1.85%.
Итак, стоит ли вам инвестировать в разработку отдельных нативных приложений на несколько платформ сразу, или убивать двух зайцев одним выстрелом, разрабатывая кроссплатформенные приложения? Или может стоит вообще сосредоточиться только на одной платформе и не обращать внимание на другую, пока не достигнут успех среди приложений первой?
По данным портала appfigures.com на начало 2018 года количество приложений, присутствующих на обеих популярных платформах, было вполне ощутимым:
450 тысяч приложений на обеих платформах. Это более 28% приложений в Apple App store и 14% в Google Play Store. Это выглядит достаточно весомой частью, чтобы задуматься об присутствии на обеих платформах и попытке экономии используя кроссплатформенную разработку.
По данным того же портала, многие уже существующие приложения расширяют свой рынок, выходя, со временем, на другой платформе. При че чаще приложения выходят дополнительно на Android, выпускаясь изначально под iOs.
Можно также наблюдать тенденцию к снижению процента кроссплатформенных приложений за 2016 – 2017 годы.
Так стоит ли потратить деньги на разработку двух нативных приложений, идеально соответствующих каждой платформе, или есть смысл сэкономить ресурсы и получить одно – кроссплатформенное?
Давайте рассмотрим плюсы и минусы каждого из указанных подходов.
Плюсы нативных приложений
- Высокая производительность
Поскольку технологии, используемые при разработке платформозависимых приложений, напрямую связаны с этой платформой, собственный нативный код имеет прямой доступ ко всем функциям операционной системы.
Это, более простое взаимодействие приложения с собственными функциями мобильных устройств, повышает общую производительность приложения, особенно при представлении графического или мультимедийного контента.
Следовательно, создание нагруженных приложений с использованием нативного кода может снизить время отклика, вероятность сбоев и зависаний. - Максимальное использование возможностей платформы
Нативные приложения задумываются и разрабатываются, чтобы решать конкретные задачи на конкретной платформе. Это приводит к лучшему соответствию возможностей приложений аппаратным возможностям устройств, включая Bluetooth, NFC, камеру, GPS и т. д.
Эта соответствие необходимо, когда приложение должно использовать такие данные, как физическое и географическое местоположение и др.
-
Лучший пользовательский интерфейс
Поскольку нативные приложения напрямую интегрируются с мобильной операционной системой, воспринимая и используя все доступные возможности «железа», пользователи могут перемещаться по привычному интерфейсу без особых хлопот, что приводит к положительному пользовательскому опыту (UX) и стабильному повторному использованию. К примеру сейчас, при большом количестве разнообразных вариантов разрешений экранов смартфонов очень важно иметь приложение, оптимизированное под такой экран, чтобы пользователю было удобно этим приложением пользоваться.
- Лучшее позиционирование в магазинах приложений
Качество пользовательского опыта является важным рейтинговым показателем в магазинах приложений. Если приложение имеет высокую оценку пользовательского опыта, оно будет более высоко оценено магазином приложений, что ведет к большему числу рекомендаций для разной аудитории и увеличению доходов от приложения, соответственно.
Есть предположение, что в магазинах приложений сами механизмы ранжирования будут лучше представлять приложения именно нативные для платформы, из-за их заведомо более высокой производительности и простоты использования.
Минусы разработки нативных приложений
- Дороговизна и затраты времени на разработку
Без сомнения, создание отдельных приложений сразу под каждую из нескольких операционных систем может значительно продлить процесс разработки. Один и тот же программный код не может быть развернут на разных платформах, и программистам потребуется больше времени для преобразования и перезаписи кода, что увеличивает затраты и время разработки.
Если компания хочет для каждой из платформ создавать отдельные приложения, она может оказаться вынуждена нанять дополнительных программистов-специалистов. Например, один разработчик будет сосредоточен на разработке приложений для iOS, а другой — на разработке приложений для Android, что еще больше увеличивает расходы.
- Несовместимость с другой мобильной операционной системой
Вам придется заранее согласиться с несовместимостью вашего приложения с другими ОС. Когда разрабатывается приложение под конкретную ОС, его разработчики используют язык, специфичный только для этой операционной системы: например, Objective-C или Swift — для iOS, для различных мобильных устройств на базе Android — Kotlin и Java. В этом контексте нативное приложение, которое изначально написано для iOs, не будет совместимо с устройствами на базе Android и наоборот.
- Упущенные возможности
Разработка приложений, ориентированных только на одну платформу, может привести к упущенным возможностям. Особенно если другие платформы заранее не принимаются во внимание. Заведомое сокращение целевого рынка может привести к потере дохода.
Как следует из названия, кроссплатформенность влечет за собой создание приложений, которые могут работать в различных операционных системах. После написания кода приложения его можно развернуть на разных устройствах и платформах, не беспокоясь о проблемах несовместимости. Это универсальный подход, который широко используется для экономии времени и денег.
Вот некоторые преимущества и недостатки использования кроссплатформенного подхода в разработке мобильных приложений.
Плюсы кроссплатформенных приложений
- Один код доступен для повторного использования на других платформах
Основным преимуществом кроссплатформенной разработки мобильных приложений является тот факт, что один и тот же код может использоваться на разных мобильных платформах. В отличие от разработки нативного приложения, для кроссплатформенного приложения не требуется использование отдельного технического стека для каждой операционной системы.
Повторное использование кода позволяет легко развертывать приложение на другой платформе, так как возможности приложения, реализованные на одной платформе, будут работать и на других платформах.
- Разработка кроссплатформенных приложений экономически эффективна
Одна команда может реализовать нужную идею сразу на всех платформах, используя единый технологический стек. Это приводит к меньшим затратам ресурсов.
- Простое и быстрое развертывание
Разработчикам кроссплатформенных приложений не нужно изучать несколько технологических стеков различных платформ перед созданием своих приложений, им нужно хорошо освоить один стек разработки и особенности его применения.
Поскольку нет необходимости создавать разные кодовые базы, начальное развертывание на целевых платформах происходит намного быстрее.
Кроме того, будущие изменения в приложении могут выполняться одновременно, без внесения индивидуальных изменений на каждой платформе.
- Кроссплатформенные приложения покрывают более широкую аудиторию
Кроссплатформенные приложения предлагают разработчикам больше возможностей для охвата более широкой аудитории, поскольку такие приложения достигают пользователей всех типов и мобильных устройств, независимо от их операционной системы. Это значительно рентабельнее для бизнеса, чем присутствие только на одной платформе.
- Кроссплатформенные приложения допускают одинаковый интерфейс и UX
Тогда как производительность важна для любого мобильного приложения, его внешний вид (UI) и ощущения (UX) так же важны. Использование единой общей команды разработчиков и единого кода позволяет компаниям использовать одинаковый внешний вид приложения на всех платформах. То есть один и тот же пользовательский интерфейс и UX будет одинаково выглядеть на всех платформах.
Недостатки кроссплатформенной разработки приложений
- Кроссплатформенные приложения не являются такими гибкими, как нативные приложения
Хотя задачи приложения будут реализовываться на всех платформах, скорее всего вы не сможете адаптировать готовое приложение для использования максимальных возможностей каждой из платформ.Работа с унифицированным стеком технологий не обеспечит такой же гибкости настройки и оптимизации, как применение стека технологий, индивидуального для каждой ОС.
- Кроссплатформенные приложения не работают так же хорошо, как нативные приложения
Использование одного универсального стека технологий приносит в жертву гибкость. Однако потеря гибкости в разработке будет означать потерю возможности улучшить производительность. Поскольку кроссплатформенные приложения отказываются от некоторой гибкости, эти приложения не будут работать так же хорошо, как нативные приложения.
- Возможное несоответствие UI в различных платформах
Внешний вид интерфейса приложения и правильная настройка UI для соответствия функционала в обеих системах может доставить проблем. К примеру, у каждой системы имеются свои требования к дизайну элементов UI. В определенных случаях эти требования могут оказаться взаимоисключающими.
- Отправка кроссплатформенных приложений в соответствующие Магазины приложений может иметь сложности.
Механизм добавления вашего приложения, являющегося кроссплатформенным, в Apple App Store и в Google Play Store будет отличаться. Требования этих магазинов приложений к представленным у них продуктам различны. Прохождение всех проверок и выполнение всех правил для соответствия обоим магазинам будут вызывать определенные сложности.
Подведем краткие итоги. Попробуем сузить наш достаточно сложный выбор между нативной разработкой и кроссплатформенной.
Обратите внимание на стратегию продвижения приложения и на его предполагаемый функционал. Если вам сразу нужен будет охват большей аудитории и у приложения функционал не является сложным — проще и дешевле воспользоваться кроссплатформенным подходом. Если вашему приложению необходимо использовать специфические особенности платформы, при этом нет необходимости в одновременном присутствии сразу и в Apple App Store, и в Google Play Store – разрабатывайте под выбранную платформу нативное приложение. И если ваши успехи покажут вам, что можно захватывать новый рынок – у вас уже будут средства на разработку под вторую платформу. Другие промежуточные варианты будут компромиссами и могут склонять чашу весов как к нативным, так и к мультиплатформенным решениям.
Используйте выбранный вами подход для построения качественных и полезных приложений. С нашей стороны можем порекомендовать ряд видеокурсов.
Для создания кроссплатформенных игр очень удобным инструментом является Unity и на ITVDN вы найдете серию видео курсов по разработке игр на Unity.
Если вы хотите попробовать себя в разработке кроссплатформенных приложений с использованием такого инструмента, как Xamarin, вам могут оказаться полезными такие уроки на портале ITVDN.com, как Xamarin. Легкий старт и Разработка пользовательского графического интерфейса (GUI) на C# под Android (Xamarin).
Если вы планируете в дальнейшем разработку нативных приложений под Android, мы рекомендуем начать с таких курсов — Java Starter и Java Essential.
Также смотрите на ITVDN видео курсы по специальности Android Developer и iOS Developer.
Кроссплатформенность — Википедия
Кроссплатформенность — способность программного обеспечения работать более чем на одной аппаратной платформе и (или) операционной системе. Обеспечивается благодаря использованию высокоуровневых языков программирования, сред разработки и выполнения, поддерживающих условную компиляцию, компоновку и выполнение кода для различных платформ. Типичным примером является программное обеспечение, предназначенное для работы в операционных системах Linux и Windows одновременно.
Как добиваются кроссплатформенности
Swing выглядит одинаково на всех ОС.
Mozilla Firefox, использующий XUL, оформляет окна в стиле ОС (в данном случае — Linux).
Кроссплатформенные языки программирования
Кроссплатформенными можно назвать большинство современных высокоуровневых языков программирования. Например, C, С++, Free Pascal, FreeBASIC, PureBasic — кроссплатформенные языки на уровне компиляции, то есть для этих языков есть компиляторы под различные платформы. Это позволяет — при надлежащем качестве кода — не переписывать основной движок программы, меняются только особые системозависимые части.
Не менее важны для кроссплатформенности стандартизованные библиотеки среды выполнения. В частности, стандартом стала библиотека языка Си (см. POSIX). Из крупных кроссплатформенных библиотек — Qt, GTK+, FLTK, STL, Boost, OpenGL, SDL, OpenAL, OpenCL.
Кроссплатформенные среды исполнения
Ещё на заре ПК компания IBM сделала свой персональный компьютер совместимым с CP/M. Это позволило запускать на нём уже имеющиеся программы.
PHP, Perl, Python, Tcl и Ruby — кроссплатформенные интерпретируемые языки, их интерпретаторы существуют для многих платформ.
Среды исполнения ActionScript Virtual Machine, Java Virtual Machine и .NET также кроссплатформенны, однако на их вход подаётся не исходный текст, а промежуточный код. Поэтому программы, написанные на ActionScript, Java и C#, можно запускать под разными ОС без предварительной перекомпиляции.
Кроссплатформенный пользовательский интерфейс
На разных ОС — независимо от того, как технически достигнута работа в них — стандартные элементы интерфейса имеют разные размеры. Поэтому простое жёсткое позиционирование элементов интерфейса невозможно — под другой ОС они могут налезать друг на друга. Существует несколько подходов.
- Единый стиль, общий для всех ОС. Программы выглядят одинаково под всеми ОС. Так работают интерфейсные библиотеки Java наподобие Swing.
- Плюс: можно жёстко расставлять элементы управления на манер Delphi; оригинальный стиль.
- Минус: системе приходится иметь свои экранные шрифты; стиль отличается от стиля ОС.
- Самоадаптирующийся интерфейс, подстраивающий сетку под реальные размеры элементов управления. Типичные примеры — Qt, wxWidgets, XUL.
- Плюс: стандартный стиль ОС, очень быстрый и «скинующийся» под Windows XP, Vista и 7; некоторая автоматизация локализации.
- Минус: чтобы собрать самоадаптирующуюся сетку, требуется квалифицированный программист; затруднена плотная компоновка.
- Гибридный подход реализован в GTK+.
- Плюс: шрифты можно брать из системы, а не «тащить» свои; некоторая автоматизация локализации.
- Минус: берёт все недостатки от первых двух подходов. Стиль отличается от стиля ОС; затруднена плотная компоновка.
В любом случае, под другими ОС требуется хотя бы минимальное тестирование, так как возможны ошибки компоновки.
Условная компиляция
Даже несмотря на широкую, в общем, стандартизацию аппаратного и программного обеспечения, программисту часто приходится налаживать ветви под разные ОС, включая ту или другую с помощью условной компиляции.
Браузер Mozilla Firefox имеет разные комплекты иконок под разные ОС.
Прикладные программы
Большое количество прикладных программ также являются кроссплатформенными. Особенно это качество выражено у программ, изначально разработанных для UNIX-подобных операционных систем. Важным условием их переносимости на другие платформы является совместимость платформ с рекомендациями POSIX, а также существование компилятора GCC для платформы, на которую осуществляется перенос.
Операционные системы
Современные операционные системы также часто являются кроссплатформенными. Например, операционные системы с открытым исходным кодом, например, NetBSD, Linux, FreeBSD, AROS могут работать на нескольких различных платформах, чаще всего это x86, m68k, PowerPC, Alpha, AMD64, SPARC. Первый выпуск Microsoft Windows NT 4 вышедший в 1996 году поддерживал четыре платформы (x86, Alpha, MIPS и PowerPC), в дальнейших версиях Windows NT осталась только поддержка платформы х86.Современная Microsoft Windows может работать как на платформе Intel x86, так и на Intel Itanium (точнее, для Itanium есть только версии Windows 2000/XP, Windows 2003 и Windows 2008, после чего поддержка была свёрнута). Операционная система NetBSD является самой переносимой[1], она портирована на большинство существующих платформ.
Среды разработки
IDE Free Pascal, IDE Lazarus, Qt Creator работают на разных операционных системах: Linux, Windows и др., что сделало их конкурентом даже виртуальной машины Java.[2].
Эмуляция
Если программа не предназначена для исполнения (запуска) на определённой платформе, но для этой платформы существует эмулятор платформы, базовой для данной программы, то программа может быть исполнена в среде эмулятора.
Обычно исполнение программы в среде эмулятора приводит к снижению производительности по сравнению с аналогичными программами, для которых платформа является базовой, так как значительная часть ресурсов системы расходуется на выполнение функций эмулятора.
Примеры кроссплатформенных программ
Sublime Text — это кроссплатформенный проприетарный текстовый редактор. Поддерживает плагины на языке программирования Python.
См. также
Примечания
Ссылки
Нативно или нет? Четыре мифа о кросс-платформенной разработке — «Хакер»
Содержание статьи
Смартфоны продолжают отвоевывать все больше места под солнцем не только как инструмент потребления фотографий котиков и ххх-роликов, но и в качестве рабочего инструмента. Поэтому и спрос на мобильную разработку растет. Принято считать, что тру и кул — это Objective-C/Swift для iOS и Java/Kotlin для Android. Спору нет, тру и кул, но существует большое количество реальных сценариев, в которых использование кросс-платформенных фреймворков более предпочтительно в сравнении с нативными инструментами.
Одни разработчики ждут от кросс-платформенных фреймворков решения всех своих жизненных проблем, другие же воспринимают их в штыки. В обоих «враждующих лагерях» есть свои заблуждения, вызванные непониманием того, как и что работает. Это подливает масла в огонь, так как вместо технических доводов в ход идут эмоции.
Также среди разработчиков, особенно начинающих, существует множество мифов о кросс-платформенных мобильных фреймворках. В нашей статье мы разберем самые популярные из них. Но для начала посмотрим на мобильную разработку глазами бизнеса, дающего деньги на весь айтишный блек-джек.
Зачем нужны кросс-платформенные инструменты?
Исторически на рынке компьютеров всегда была конкуренция, и каждый производитель предоставлял оптимальный набор так называемых нативных (родных) инструментов для разработки приложений под свои операционные системы и устройства.
Нативные инструменты = предоставляются владельцем экосистемы.
Все остальные признаки «нативности» ВТОРИЧНЫ — поведение и интерфейс приложений, доступ к возможностям ОС, производительность и прочее.
К тому же практически всегда оказывалось, что нативные инструменты несовместимы друг с другом не только на уровне языков разработки, принятых соглашений и архитектур, но и на уровне механизмов работы с операционной системой и библиотеками. В результате для реализации одних и тех же алгоритмов и интерфейсов требовалось написать приложение для нескольких сред на разных языках программирования, а потом его поддерживать из расчета «одна команда на платформу». При этом возможности и внешний вид приложений на разных платформах практически всегда идентичны на 90%. Сравни ради интереса реализацию любимых программ для iOS и Android.
Второй важный момент — наличие необходимых знаний и опыта внутри команды: если их нет, то потребуется время на обучение.
Для того чтобы решить обе эти проблемы, на рынке уже давно появились инструменты кросс-платформенной разработки (не только mobile), предлагающие:
- максимизировать общую базу кода на едином языке программирования, чтобы продукт было проще разрабатывать и поддерживать;
- использовать существующие компетенции и специалистов для реализации приложений на новых платформах.
Так как языков программирования (и сред) сейчас наплодилось очень много (и специалистов, владеющих этими языками), то и инструментов для кросс-платформенной разработки существует изрядное количество. Мы в качестве примера остановимся на популярных в наших краях PhoneGap, Xamarin, React Native и Qt.
Теперь можно поговорить и о мифах.
Миф 1. Магия
Самый частый миф, будоражащий умы начинающих девелоперов, связан с верой в сверхалгоритмы (и сверхпрограммистов, их создавших), которые волшебным образом превращают кросс-платформенные приложения в нативные. Что-то в духе «преобразования кода JavaScript в Swift и дальнейшая компиляция уже Swift-приложения». Этот миф подогревают и сами разработчики кросс-платформенных инструментов, обещая на выходе создание «нативных приложений». И не то чтобы кто-то здесь лукавил, но богатая фантазия и непонимание базовых механизмов иногда наводят разработчиков на мысли о шаманских приемах.
Главный принцип, лежащий в основе кросс-платформенных решений, — разделение кода на две части:
- кросс-платформенную, живущую в виртуальном окружении и имеющую ограниченный доступ к возможностям целевой платформы через специальный мост;
- нативную, которая обеспечивает инициализацию приложения, управление жизненным циклом ключевых объектов и имеет полный доступ к системным API.
Для того чтобы связывать между собой мир «нативный» и мир «кросс-платформенный», необходимо использовать специальный мост (bridge), именно он и определяет возможности и ограничения кросс-платформенных фреймворков.
При использовании bridge производительность всегда снижается за счет преобразования данных между «мирами», а также конвертации вызовов API и библиотек.
Итак, все кросс-платформенные приложения обязаны иметь нативную часть, иначе операционная система просто не сможет их запустить. Поэтому давай рассмотрим подробнее, какие системные API и механизмы предоставляются самими iOS, Android и Windows. Переходим к следующему мифу.
Миф 2. Ненативно!
Итак, у нас есть кросс-платформенная часть приложения, живущая в виртуальном окружении и взаимодействующая с операционной системой через инфраструктуру фреймворка и мост.
Все операционные системы: iOS, Android и Windows UWP — предоставляют доступ к следующим подсистемам (наборы системных API):
- WebView (встроенный в приложение веб-браузер) используется в гибридных приложениях на базе PhoneGap и фактически выступает средой выполнения локального веб-сайта;
- JavaScript-движки используются в React Native и аналогах для быстрого выполнения JS-кода и обмена данными между Native и JS;
- OpenGL ES (или DirectX) используется в игровых движках и приложениях на Qt/QML или аналогах для отрисовки интерфейса;
- UI-подсистема отвечает за нативный пользовательский интерфейс приложения, что актуально для React Native и Xamarin.
Кросс-платформенные приложения имеют нативную часть и такой же полный доступ к системным API, что и «нативные» приложения. Разница в том, что вызов системного метода идет через мост и инфраструктуру фреймворка:
WebView — приложение живет в своем веб-браузере по аналогии с одностраничным веб-сайтом. Нет доступа к нативным контролам (кнопки, списки и прочее), все основано на HTML/CSS/JavaScript. С другой стороны, веб-разработчик почувствует себя как рыба в воде.
JavaScript-движки стали популярны относительно недавно, так как в iOS подобный механизм был добавлен только в версии 7.0. Из особенностей стоит учитывать необходимость сериализации в JSON сложных структур данных, передаваемых между средами JavaScript и Native. Если коротко описать подобный класс решений, то в JavaScript-среде выполняется JS-код, управляющий нативным приложением.
OpenGL ES и DirectX являются подсистемами низкого уровня и используются для отрисовки пользовательского интерфейса в играх и, например, Qt/QML. То есть при использовании OpenGL/DirectX разработчики сами рисуют контролы и анимации, которые могут быть лишь похожи на нативные. С другой стороны, это подсистема низкого уровня с очень высокой производительностью, поэтому она используется и в кросс-платформенных игровых движках.
Все кросс-платформенные приложения имеют нативную часть, а следовательно, потенциально такой же полный доступ к системным API, что и «нативные». Также кросс-платформенные приложения собираются и упаковываются «нативными» инструментами в «нативные» установочные пакеты. Ключевой вопрос — как организовано взаимодействие между кросс-платформенной частью и нативной. Например, внутри WebView или с помощью Open GL ES / DirectX нет возможности создать пользовательский интерфейс с полностью нативным look’n’feel, но при этом есть полный доступ к GPS, Push-уведомлениям и другой функциональности. А код на JavaScript или C# вполне свободно может управлять нативным приложением и его поведением, обеспечивая полностью нативный look’n’feel.
Если резюмировать — то да, «ненативно» с точки зрения используемых инструментов разработки (не от Apple, Google). Но приложение может быть полностью нативным с точки зрения доступа к системным API и обеспечивать полностью нативный внешний вид и поведение. А мы движемся к следующему мифу.
Миф 3. Костыль на костыле
Здесь стоит понимать, что нативные API по умолчанию костылями не считаются (хотя и здесь есть разные мнения), поэтому все негодование направлено на кросс-платформенную часть. Очевидно, что исполняющую среду (например, WebView, JavaScript-движок или Mono) костылем тоже назвать сложно — взрослые зрелые решения с длительной историей.
Похоже, что костылем называют то, как кросс-платформенная часть интегрируется с нативной. Чтобы лучше понять, как работают различные фреймворки, мы на примере PhoneGap, Xamarin, Qt и React Native рассмотрим те механизмы операционных систем, которые используются для связывания кросс-платформенной и «нативной» частей.
Начнем мы с PhoneGap. Ниже представлена верхнеуровневая архитектура приложения на базе этого фреймворка.
Приложение на PhoneGap — это по факту нативное приложение, которое в качестве единственного UI-контрола отображает WebView. Именно через него и идет взаимодействие с нативной частью. Все стандартные WebView в iOS, Android и Windows UWP поддерживают возможность добавить свои нативные обработчики для JS-свойств и методов. При этом JS-код живет в своей изолированной среде и ничего не знает о нативной части — просто дергает нужные JS-методы или меняет нужные JS-свойства. Все внутри стандартного вебовского DOM, в который просто добавляются новые элементы, связанные с нативной реализацией.
Далее рассмотрим React Native.
При создании приложений на React Native разработчику практически всегда будет необходимо реализовывать нативную часть на Objective-C, Java или C#, а само управление нативным приложением будет идти из JavaScript. По факту JavaScript-движок — это элемент WebView, который доступен отдельно. Взаимодействие идет через такой же JS-мост, как и в случае с PhoneGap. Однако в React Native JS-код управляет не вебовским DOM-деревом, а нативным приложением.
Необходимо учитывать, что из-за ограничений iOS (нет возможности реализовать JIT) код JavaScript на лету интерпретируется, а не компилируется. В целом это не особо сказывается на производительности в реальных приложениях, но помнить об этом стоит.
Теперь рассмотрим классический Xamarin.iOS и Xamarin.Android, так как Xamarin.Forms (поддерживающий Windows UWP) — это надстройка над ними.
Xamarin использует библиотеку Mono для взаимодействия с целевой операционной системой, которая позволяет вызывать нативный код с помощью механизма P/Invoke. Он же задействуется и для общения с нативными API в iOS/Android. То есть для всех публичных нативных API-методов создаются обертки на C#, которые, в свою очередь, вызывают системные API. Таким образом, из Xamarin-приложения можно обращаться ко всем системным API.
И в завершение рассмотрим Qt, так как о нем появляется много вопросов от опытных разработчиков.
Qt — «вещь в себе», в этом есть и плюсы, и ограничения. Библиотеки Qt просто подключаются к системным API на C++, которые есть во всех операционных системах. Для отрисовки пользовательского интерфейса используются механизмы низкого уровня, но свой графический движок, поддерживающий стилизации «под нативку». При этом на Android приходится обращаться к Java API через специальный мост (JNI bridge), а для Windows UWP использовать конвертер вызовов Open GL ES в DirectX, так как Open GL недоступен для UWP.
Подведем итог: все кросс-платформенные фреймворки используют стандартные нативные возможности операционных систем, являются зрелыми, создаются опытными командами и сообществом open source при поддержке гигантов IT-индустрии. И наконец, пришло время для самого «сильного» аргумента.
Миф 4. Медленно
Важный козырь, которым любят пользоваться в спорах о кросс-платформенных фреймворках, — низкая производительность. Опять же, смотря что с чем сравнивать и в каких попугаях считать.
Напомним, что особенность кросс-платформенных приложений заключается в параллельном существовании двух миров, связанных мостом:
- PhoneGap: HTML/JS и Native Java / Objective-C / C#;
- React Native: JS и Native Java / Objective-C / C#;
- Xamarin: Mono и Native Java / Objective-C;
- Qt: С++ и Native Java / Objective-C.
Таким образом, при сравнении производительности надо учитывать скорость работы:
- кросс-платформенной части;
- нативной части;
- моста.
Если набрать в поисковике, например, react native vs swift performance, то можно посмотреть множество различных тестов, и во многих из них отмечается, что производительность резко падает при активном использовании моста, включая активное манипулирование UI из кросс-платформенного кода. Для Xamarin ситуация выглядит таким же образом — кросс-платформенная часть очень быстра и сопоставима с нативной в обработке данных, однако при использовании моста может падать производительность. Qt вообще работает на уровне С++, который быстр сам по себе. Если же рассматривать решения на базе PhoneGap, то здесь производительность будет сильно зависеть от WebView, но все же не следует активно менять UI в JavaScript-коде или проводить научные вычисления.
Медленно? Да, возможны падения производительности при неумелом взаимодействии с операционной системой через мост. Однако сами по себе кросс-платформенные миры такие же быстрые, как и нативные.
Заключение
Сегодня мы рассмотрели устройство популярных кросс-платформенных мобильных фреймворков и разобрали основные мифы, которыми они окружены. Оставайся на связи!
Лучшие среды разработки кроссплатформенных приложений в 2020 году
Многие и многие предприятия меняют свои процессы разработки, переходя на новейшие среды разработки мобильных приложений. Все они хотят быстро достичь своей целевой аудитории с помощью самых современных технологий.
Технологии всегда нестабильны, и использование старых традиционных методов может привести к потере деловых возможностей. Приятно, что конкуренция в индустрии мобильных приложений усилилась, когда дело доходит до выбора правильной платформы, фреймворка или процесса разработки.Что, в свою очередь, приводит к увеличению числа разработчиков нативных приложений и разработчиков приложений из-за широкого охвата кроссплатформенной инфраструктуры мобильных приложений.
Наиболее широко используемые платформы для разработки мобильных приложений — это Android и IOS. Когда компании используют собственный метод разработки, им необходимо писать отдельные коды для этих разных платформ, в то время как кроссплатформенная структура позволяет использовать один код для обеих.
С помощью кроссплатформенных фреймворков доступ к целевой аудитории становится простым.В этой статье мы внимательно рассмотрим основные среды разработки кросс-приложений.
Краткая информация о кроссплатформенной платформе мобильных приложений
С помощью кроссплатформенной среды мобильных приложений компании-разработчики мобильных приложений могут создавать возможности для приложений, которые могут быть совместимы с любой операционной системой.
Он принципиально включает совместимость как с Android, так и с iOS. Эта среда разработки позволяет компонентам один раз написать код и запустить его на любой из платформ, когда вы нанимаете разработчика приложения.Эта структура дает множество преимуществ, в том числе:
- Повторное использование кода
- Согласованность компонентов пользовательского интерфейса
- Экономический эффект
- Обобщенная интеграция с облаком
- Хостинг не беспокойный
- Рыночное время сокращается
- Нет серьезных технических препятствий
За последние несколько лет в производительности многоплатформенных фреймворков для разработки приложений было обнаружено несколько ошибок, но большинство из них совершенно правильные.Это стало одним из самых популярных трендов среди разработчиков, потому что разработка нативных приложений становится все более востребованной. Однако, как и в случае с любой другой технологией, у этих типов приложений есть свои плюсы и минусы, поэтому, прежде чем использовать кроссплатформенную разработку приложений, мы должны рассмотреть и другие ее параметры.
Лучшие фреймворки для кроссплатформенной разработки приложений
Давайте подробнее узнаем о лучших фреймворках для кроссплатформенной разработки приложений.
1. Ionic Framework
Вы можете назвать его самым популярным кроссплатформенным фреймворком, который используется рядом компаний-разработчиков мобильных приложений для создания мобильных приложений.Это платформа с открытым исходным кодом, которая доступна бесплатно, и у MIT есть ее лицензия.
Технологии, такие как HTML, CSS в JavaScript, используются в этой структуре и могут улучшить навыки разработчиков. Компании по разработке мобильных приложений должны нанять разработчика, хорошо разбирающегося в этой технологии.
Эта платформа наследует определенные элементы от Android и IOS. Платформа ionic также побуждает крупное сообщество предлагать отличную поддержку, а разработчики могут создавать собственные приложения, как мобильные.
Его функции включают:
- Он может использовать единую базу кода
- , если он сочетается с angular, тогда он дает невероятные результаты
- Для разработки структуры приложения он также может использовать AngularJS
- Предоставляет библиотеку инструментов и компонентов.
2. Xamarin
Принадлежащая Microsoft, это одна из основных платформ, которая работает с записью после запуска любой модели (WORA). Это платформа с открытым исходным кодом, которая была запущена для решения проблем несвязанного стека собственных технологий.
В этом кадре используются руки кода C #; он может работать на серверных платформах. Когда компании нанимают разработчиков-разработчиков, они используют эту структуру для повышения эффективности и частого обновления.
Еще одна особенность, которая может вас поразить, заключается в том, что код, написанный на этой платформе, можно легко использовать для различных платформ. Он основан на .NET. Разработчики также могут получить доступ к собственным API-интерфейсам с помощью пакета NuGet и подключаемых модулей. По оценкам, эту структуру используют около 10 000 компаний.
Его функции включают:
3. Felgo
Felgo — это кроссплатформенный SDK для разработки приложений, основанный на платформе Qt, значительно упрощающий процесс и время, затрачиваемое на разработку приложений. Платформа поддерживает различные целевые платформы, такие как Android, iOS, Windows, Mac, Linux, встроенные и веб-платформы. С Felgo разработчики могут создавать современные, гибкие и красивые приложения, изначально скомпилированные из единой кодовой базы.
Он даже предлагает большой набор визуальных и функциональных компонентов для создания пользовательских интерфейсов, которые адаптируются к собственному внешнему виду каждой платформы.Кроме того, Felgo поставляется с первоклассными современными инструментами, такими как Hot Reload и IDE со встроенной документацией и отладчиком.
Это открытие для разработки кроссплатформенных приложений сегодня, и оно по праву заслуживает того, чтобы занять первое место в списке.
Его функции включают:
- Нативные кроссплатформенные приложения из единой кодовой базы
- Горячая перезагрузка непосредственно на устройстве, на любой платформе
- Декларативная разработка с использованием QML и JavaScript
- Собственная производительность
4.Adobe PhoneGap или Apache Cordova
Adobe PhoneGap ранее назывался Apache Cordova — это кроссплатформенный фреймворк, принадлежащий Adobe. Эта структура использует HTML5, CSS и JavaScript для разработки и позволяет пользователям делиться разработанным ими приложением с командой, чтобы они могли получать активную обратную связь.
Если разработчик хочет создать приложение напрямую, он также предоставляет облачное решение. Это дает независимость от сложных текстовых команд и доступ к сторонним инструментам и компонентам.С помощью этой среды мобильной разработки разработчики могут легко отслеживать изменения в динамике.
Его функции включают:
- Эта структура может использоваться для разработки приложений для различных операционных систем
- С помощью плагина разработчики могут добавлять больше функций
- Эта структура лишена каких-либо аппаратных ограничений
5. Flutter
Flutter, принадлежащий Google, представляет собой платформу для разработки кроссплатформенных приложений с открытым исходным кодом.Он был разработан для разработки собственных интерфейсов для Android, а также для iOS сравнительно меньшего периода.
Разработчики по всему миру используют эту структуру, поскольку она также может работать с уже существующим кодом. Эта структура также может использовать механизм 2D-рендеринга для разработки визуальных элементов, например Skia.
Его функции включают в себя:
- Снижение затрат на тестирование
- Разработка приложений сравнительно быстрее
- Это невероятная структура
6.React Native
Этот кроссплатформенный фреймворк был запущен Facebook в 2013 году. Компании, занимающиеся разработкой мобильных приложений, могут нанять разработчика React Native, который может использовать JavaScript с этой структурой.
Разработка этой структуры позволяет разработчику использовать заявленные компоненты для интеграции многофункционального мобильного пользовательского интерфейса. Разработчики также получают доступ к таким функциям, как акселерометр для камеры.
Эта структура позволяет разработчикам предварительно просматривать свои резервы, а также обеспечивает возможность повторного использования кода.Эти функции в совокупности сокращают сроки разработки. Нативная среда React также включает реакцию, которая использует JavaScript для создания приложений, связанных с мобильными устройствами и Интернетом.
Его функции включают в себя:
- Это среда разработки с открытым исходным кодом
- Веб-разработка легко поддерживается этой структурой
- React native также имеет сообщество поддержки
- Совместное использование кодов улучшено
- Несколько плагинов внутри предоставлено разработчикам
Заключительные слова
Фреймворки для разработки мобильных приложений являются важнейшими аспектами компаний, занимающихся разработкой мобильных приложений.Бизнес-платформы используют эти платформы для разработки приложений, чтобы максимально использовать свои возможности, потому что они экономичны и экономят время.
Перед тем, как выбрать какую-либо из фреймворков, вы должны сначала рассмотреть свои цели, а затем — сходство с ними вашего проекта. Поэтому сначала решите, использовать ли гибридную платформу приложений или кроссплатформенную структуру.
Автор
Dev Компания Technosys, основанная еще в 2010 году, представляет собой идеальное сочетание талантов, воплощающих более 950 успешных проектов индивидуальной веб-разработки и разработки мобильных приложений.С самого начала мы культивировали успешную историю цифровых решений для компаний малого и среднего бизнеса и предприятий с программным обеспечением на основе служебных программ; разработан для широкого спектра технологий.
Следуйте за .
10 лучших межплатформенных платформ для приложений, которые следует рассмотреть в 2020 году
Кросс-платформенная разработка приложений имеет свои достоинства, которые играют важную роль в ее нынешней популярности. С расширением охвата на рынке начали появляться несколько кросс-платформенных инструментов и фреймворков для разработки приложений; медленно, а затем сразу, вместе со всеми другими компаниями, занимающимися разработкой мобильных приложений, которые пробуют свои силы в этой интересной и единственной в своем роде технологии.
Результат — теперь у нас есть море таких инструментов и фреймворков, которые вы, как разработчик, можете найти подавляющими.Чтобы помочь вам в поиске наиболее идеальной и образцовой кроссплатформенной платформы, вот список из 10 лучших кроссплатформенных фреймворков для приложений 2020 года, которые можно с уверенностью сказать.
Есть определенные эталоны, которые необходимо очистить, чтобы объявить что-то «лучшим» для этого домена или категории.
Таким же образом при определении лучших кросс-платформенных фреймворков было рассмотрено несколько важных аспектов, чтобы действительно увидеть, как работает каждый проверяемый выбор.
Однако, прежде чем перейти к списку, давайте разберемся с основами.
Что такое кроссплатформенная платформа?
Если говорить кратко, кроссплатформенность — это тип программного обеспечения, которое может работать на нескольких вычислительных платформах, например Android, iOS, Windows, Blackberry и т. Д. Приложения, построенные на этой платформе, не требуют отдельного кодирования для каждой платформы. скорее, однократное кодирование создаст основу для столь же эффективной работы приложения на всех платформах.Сегодня это один из самых популярных методов в области разработки приложений, которым клянутся почти все ведущие компании по разработке мобильных приложений.
Примечание: Чтобы получить более подробное представление, прочтите это руководство по разработке кроссплатформенных приложений.
1. Ионный
Ionic — один из самых замечательных и популярных фреймворков для кроссплатформенных приложений, основанный на AngularJS. Он позволяет разработчикам использовать комбинацию многих языков, например HTML5, JavaScript, CSS и оболочку Cordova, для доступа к собственным контроллерам платформы.
Ionic позволяет разработчикам создавать безупречно креативный пользовательский интерфейс, а также добавлять в приложение удобные функции. Приложения, разработанные с помощью этого фреймворка, очень интерактивны и похожи на нативные, что делает Ionic идеальным кандидатом для разработки PWA.
Характеристики
1. Это интерфейсный фреймворк с открытым исходным кодом, что означает, что он позволяет вносить изменения в структуру кода, подходит каждому разработчику и экономит много времени. Это создает серьезную конкуренцию его сопернику Ionic в битве Ionic против React Native.
2. Ionic основан на структуре пользовательского интерфейса SAAS, разработанной специально для мобильных операционных систем. Он предоставляет множество компонентов пользовательского интерфейса для разработки надежных приложений.
3. Еще одна из его наиболее ценных особенностей — то, что он основан на AngularJS, что позволяет легко предлагать расширения синтаксиса HTML, основные функции для внедрения полезных, но привлекательных функций и компонентов в приложение.
4. Эта структура использует плагины Cordova, которые позволяют получить доступ к встроенным функциям устройств, включая камеру, GPS и аудиорекордер, что является одним из основных преимуществ кроссплатформенных инструментов.
5. Тот факт, что Ionic дает приложениям ощущение нативности, делает его фаворитом разработчиков. Он помогает разрабатывать кроссплатформенные приложения и позволяет им отлично работать на различных платформах.
2. React Native
Говоря о кроссплатформенных фреймворках приложений, трудно не включить React Native. Это платформа, построенная на JavaScript, которая используется для написания реального кода и придает мобильным приложениям, работающим как на Android, так и на iOS, ощущение нативности.Благодаря его замечательным функциям, это предпочтительный выбор не только для разработчиков, но и для компаний, которые доверяют React Native как платформе для своих приложений.
React Native объединяет преимущества JavaScript и React.JS, а также предоставляет разработчикам возможность писать модули на языках Objective-C, Swift или Java. Более того, используя собственные модули и библиотеки в кроссплатформенных приложениях React Native, разработчики также могут выполнять тяжелые операции, такие как редактирование изображений, обработка видео или некоторые другие операции, которые не являются частью API фреймворка.
Характеристики
1. Хорошо, что React Native — это кроссплатформенный фреймворк для приложений с открытым исходным кодом, такой же, как Ionic. Из-за этого у него есть большое сообщество, которое поддерживает и улучшает его, исправляя ошибки, импровизируя и вводя функции.
2. Одним из преимуществ кроссплатформенной разработки является то, что она требует однократного кодирования (WORA) для разработки приложений для таких различных платформ, как Android и iOS. Это решает одну из самых больших проблем других фреймворков — от разработчиков требуется дважды кодировать отдельно для одного и того же приложения на разных платформах.
3. Однократное кодирование мгновенно сокращает время разработки приложения, а также снижает стоимость разработки приложения React Native до минимума.
4. Как ни удивительно, React Native хорошо совместим со сторонними плагинами, такими как Google Maps.
5. React Native в значительной степени фокусируется на пользовательском интерфейсе, создавая высокочувствительный интерфейс. Это означает, что среда React Native сокращает время, затрачиваемое на загрузку, и обеспечивает удобный интерфейс для приложений.
3. Флаттер
Google представила впечатляющую кроссплатформенную платформу приложений под названием Flutter еще в 2017 году. Это комплект для разработки программного обеспечения, предназначенный для помощи в быстрой разработке приложений для Android и iOS. Это также фундаментальный и основной метод разработки приложений Google Fuschia.
Flutter предлагает приложения, которые легко и эффективно работают на нескольких платформах с единообразием и динамичностью.
Вот некоторые из замечательных функций, которые делают Flutter идеальным кроссплатформенным фреймворком для разработчиков.
Характеристики
1. Flutter продвигает портативный графический процессор, который предоставляет возможности пользовательского интерфейса, позволяя ему работать с новейшими интерфейсами.
2. Flutter не требует обновления содержимого пользовательского интерфейса вручную, так как обладает реактивной структурой. Разработчикам приложений Flutter требуется только обновить переменные, и после этого изменения пользовательского интерфейса будут видны.
3. Фреймворк кроссплатформенных приложений Flutter представляет собой идеальный выбор для разработки минимально жизнеспособного продукта (MVP), поскольку он инициирует быстрый процесс разработки, а также является экономичным.
4. Xamarin
Фреймворк кроссплатформенной разработки приложений Xamarin значительно отличается от фреймворков, которые мы обсуждали до сих пор. Это оптимизированная структура, используемая для разработки приложений для Android, Windows и iOS с помощью C # и .Net вместо библиотек JS и HTML. Это позволяет разработчикам использовать 90% кода для создания приложения для трех различных платформ.
Xamarin предоставляет приложения с эстетикой, подобной нативному приложению, с помощью своих удивительных API, что значительно усложняет принятие решения между Xamarin и React Native.Вот особенности Xamarin, объясняющие, почему это один из лучших вариантов кроссплатформенных фреймворков для мобильной разработки.
Характеристики
1. Приложения, разработанные на платформе Xamarin, созданы с использованием C # — современного языка, имеющего преимущество над Objective-C и Java.
2. Разработчики получают функциональность приложений на собственном уровне с помощью Xamarin. Это в значительной степени снижает проблемы совместимости оборудования с помощью плагинов и специальных API, которые работают с общими функциями устройств.Он также способствует связыванию с собственными библиотеками, позволяя настраивать и настраивать функциональность на собственном уровне. Одна только эта функция делает его одним из лучших фреймворков для разработки приложений для Android.
3. Xamarin поддерживает прямое включение библиотек Objective-C, Java и C ++. Это позволяет разработчикам повторно использовать многие сторонние кодовые базы, зашифрованные на Java, Objective-C или C ++, что делает его одной из наиболее предпочтительных межплатформенных сред.
4. Xamarin сокращает время и стоимость разработки мобильных приложений, так как поддерживает WORA (Write Once, Run Anywhere) и имеет огромную коллекцию библиотек классов.
5. Xamarin предлагает надежную проверку во время компиляции. Благодаря этой возможности разработчики становятся свидетелями меньшего количества ошибок времени выполнения и получают хорошо работающие приложения.
6. Xamarin имеет потрясающий собственный пользовательский интерфейс и элементы управления, помогающие и позволяющие разработчикам разрабатывать приложения, подобные нативным.
5. NativeScript
NativeScript — потрясающая бесплатная кроссплатформенная среда на основе JavaScript. Было бы неправильно сказать, что NativeScript — предпочтительный выбор разработчиков, которым нужна функциональность WORA.
NativeScript также предлагает все собственные API-интерфейсы, предоставляя разработчикам возможность повторно использовать существующие плагины прямо из NPM в проектах.
Характеристики
1. NativeScript визуализирует красивый, доступный и ориентированный на платформу пользовательский интерфейс, и это тоже без WebView. Разработчикам требуется определить только один раз и позволить NativeScript адаптироваться для работы везде. Они даже могут настроить пользовательский интерфейс для определенных устройств и экранов.
2. В отличие от React Native, NativeScript предоставляет разработчикам полный веб-ресурс, в который входят плагины для всех видов решений. Это неизбежно устраняет необходимость в сторонних решениях.
3. NativeScript дает возможность легко получить доступ к собственным API для Android и iOS, что означает, что разработчикам не нужны дополнительные знания языков разработки.
4. Для программирования используется Angular и TypeScript.
6. Node.js
Node.js — невероятная платформа для разработки кроссплатформенных приложений. По сути, Node.Js — это среда выполнения JavaScript, построенная на движке JavaScript Chrome V8. Это среда с открытым исходным кодом, которая поддерживает разработку серверных и масштабируемых сетевых приложений. Кросс-платформенные приложения Node.js по своей сути высокоэффективны и отзывчивы.
Платформа способна одновременно обрабатывать несколько одновременных подключений. Он также поставляется с богатой библиотекой многочисленных модулей JavaScript, которые помогают упростить разработку веб-приложений.
Характеристики
1. Все API-интерфейсы Node.js являются асинхронными, что означает, что они не являются блокирующими по своей природе, то есть серверы на основе Node.JS по существу не ждут данных от API-интерфейсов. После вызова он сразу же переходит к другому API. Механизм уведомлений для Node.js позволяет серверу получать ответ от предыдущего вызова API.
2. Библиотека Node.js демонстрирует впечатляющую скорость выполнения кода, поскольку она построена на движке Chrome V8.
3. Кросс-платформенные приложения Node.js не буферизуют, вместо этого приложения выводят данные по частям.
4. Для обеспечения бесперебойной и безупречной работы приложений Node.js использует однопоточную модель с функцией цикла событий. Этот механизм событий позволяет серверу отвечать неблокирующим образом, что делает их масштабируемыми.
7. Appcelerator Titanium
Appcelerator — один из многих инструментов разработки кроссплатформенных приложений, предназначенных для более плавной и простой разработки мобильных приложений.Это отличный способ создавать кроссплатформенные приложения с помощью единой базы кода. Его основное внимание уделяется оптимизации процесса разработки приложений с помощью собственных компонентов, присутствующих в коде JavaScript.
Характеристики
1. Appcelerator предлагает различные инструменты для быстрой разработки приложений. Это указывает на то, что прототип может быть создан с гораздо меньшими затратами времени и усилий для оценки взаимодействия пользователя с пользовательским интерфейсом.
2. В нем есть ArrowDB — хранилище данных без схемы, которое позволяет разработчикам развертывать модели данных без дополнительных усилий по настройке.
3. Позволяет интегрировать существующие системы непрерывной доставки, такие как решения SCM и другие.
4. Appcelerator имеет готовые коннекторы, доступные для MS Azure, MS SQL, Salesforce, Box — список утомительно длинный.
8. PhoneGap
Phone Gap (Cordova) — одна из безупречных кроссплатформенных платформ для мобильной разработки, использующая CSS, JavaScript и HTML5. Он также предлагает разработчикам облачное решение, предоставляя им возможность поделиться приложением в процессе разработки для получения отзывов от других разработчиков.
Он разрабатывает впечатляющие приложения, используя существующие веб-технологии. Еще одно большое преимущество PhoneGap заключается в том, что он полностью поддерживает встроенные функции устройства, такие как GPS, камера, телефонная книга, хранилище и т. Д.
Характеристики
1. PhoneGap считается безупречным кроссплатформенным фреймворком, поскольку он позволяет разработчикам создавать кроссплатформенные приложения с использованием существующих веб-технологий, таких как HTML 5, CSS3 и JavaScript.
2. Будучи кроссплатформенной платформой, PhoneGap поддерживает использование единой базы кода для создания приложений для различных платформ, а именно iOS, Android, Windows Phone, BlackBerry и т. Д.
3. Он следует архитектуре, которая по своей природе является подключаемой, а это означает, что возможно, что доступ к собственным API-интерфейсам устройства может быть расширен модульным способом.
9. Sencha Touch
Представленный почти десять лет назад, Sencha Touch помогает в разработке кроссплатформенных веб-приложений и обычно используется для создания эффективных приложений, использующих методы аппаратного ускорения.Используя Sencha Touch, разработчики могут создавать хорошо протестированные, надежно интегрированные компоненты и библиотеки пользовательского интерфейса.
Фактически, можно легко и эффективно разрабатывать большие бизнес-приложения и поддерживать их. Вот некоторые из его замечательных особенностей:
Характеристики
1. Он известен тем, что предоставляет встроенные темы для всех основных платформ, таких как Android, iOS, BlackBerry, Windows Phone и т. Д.
2. Он поставляется с эффективным независимым серверным пакетом данных для работы с источниками данных.
3. Одной из самых известных особенностей Sencha Touch является то, что она поддерживает интеграцию Cordova для доступа к собственному API вместе с упаковкой.
4. Предлагает совместимость кода между новым и старым.
5. Поставляется с настраиваемыми и более чем 50 встроенными виджетами пользовательского интерфейса. Он также имеет набор богатого пользовательского интерфейса, такого как списки, карусели, формы, меню, панели инструментов и т. Д., созданный специально для мобильных платформ.
10. Corona SDK
Corona SDK позволяет программистам разрабатывать мобильные 2D-приложения для всех основных платформ, включая Kindle и Windows.
Он предлагает в 10 раз более быструю разработку мобильных и игровых приложений. Этот фреймворк обеспечивает замечательные результаты благодаря надежности его внутреннего фреймворка на Lua, который является легким и многопарадигмальным языком программирования. Язык фокусируется на основных элементах разработки, а именно на скорости, переносимости, расширяемости, масштабируемости и, наконец, что не менее важно, на простоте использования.
Более того, это бесплатный фреймворк, работающий как в Mac OS X, так и в Windows, с поддержкой тестирования в реальном времени.
Характеристики:
1. Он имеет более 1000 API-интерфейсов, которые дают разработчикам возможность создавать спрайты для анимации, звука и музыки, физики Box2D, анимации объектов, управления текстурами, собственных элементов, данных — список можно продолжать для страниц.
2. Он почти мгновенно реагирует на изменения кода, обеспечивая предварительный просмотр производительности приложения в режиме реального времени, как на реальном устройстве.
3. Он поддерживает почти 200 плагинов, включая рекламу в приложениях, аналитику, средства массовой информации и аппаратные функции.
После рассмотрения всех лучших вариантов, которые компетентная компания по разработке кроссплатформенных приложений ищет в этой области, остается только подождать и посмотреть, как эти фреймворки конкурируют друг с другом, чтобы оставаться на конкурентном рынке, и насколько хорошо они выступают против выхода новых структур на рынок, пока мы говорим.
Часто задаваемые вопросы (FAQ)
1.Что такое кроссплатформенный фреймворк?
Межплатформенные платформы приложений — это инструменты, используемые разработчиками для создания приложений для нескольких платформ. В отличие от нативных, кроссплатформенные фреймворки позволяют разработчикам разрабатывать приложение с одноразовым кодированием и запускать его на всех платформах, таких как Android, iOS, Windows, с небольшими изменениями, конечно же, в разработке.
2. Какой кроссплатформенный фреймворк является лучшим?
Вместо того, чтобы просто дать вам одно имя, как насчет того, чтобы мы дали вам названия 10 лучших кросс-платформенных фреймворков.Это предоставит вам преимущество выбора, из которого вы сможете выбрать любой в соответствии со своими требованиями и требованиями.
- Флаттер
- Ионный
- React Native
- Xamarin
- NativeScript
- Node.Js
- PhoneGap
- Appcelerator
- Corona SDK
- Sencha Touch
3. Как сделать мобильное приложение кроссплатформенным?
Что ж, ответ так же прост, как разрезать пирог.Вы можете выбирать из широкого спектра кроссплатформенных платформ приложений, доступных на рынке. Эти фреймворки обеспечивают бесперебойную работу вашего приложения и его способность работать на всех платформах так же эффективно, как и собственное приложение.
Более того, самым простым выходом из этого будет выбор безупречной компании по разработке кроссплатформенных приложений с опытом и надлежащим техническим стеком, необходимым для эффективной разработки приложений.
Судип Шривастав
Генеральный директор, Appinventiv
В поисках стратегических сессий ?.
Позвольте нам полностью разобраться в вашем бизнесе и помочь вам разработать
стратегий вашего цифрового продукта.
.
Кроссплатформенные игры и почему они так важны
Представьте себе мир, в котором разрушены жесткие (и зачастую вредные) границы между игроками на всех платформах.
Это мечта, за которой гонятся некоторые современные разработчики и игровые директора.
Некоторые люди будут утверждать, что такой идеальный мир иррационален — что, пытаясь соединить такие разнородные платформы и толпы, вы в конечном итоге навредите сообществу видеоигр в целом.
Но такие мнения заглушает громкое большинство людей, требующих открытого игрового процесса без искусственных преград.
Есть очевидные доказательства того, что в этом направлении движется игровая индустрия, поскольку мы начинаем видеть новые уровни кроссплатформенных игр как на консолях, так и на мобильных устройствах.
Что такое кроссплатформенные игры и почему это важно
Проще говоря, кроссплатформенные игры — это игры, которые позволяют игрокам на разных платформах или устройствах играть вместе одновременно.
Например, игра, которая позволяет игрокам на ПК играть на тех же серверах, что и игроки Xbox One, или игрокам PlayStation 4, играющим вместе с игроками на PS Vita.
Во многих случаях кроссплатформенные многопользовательские игры остаются в пределах домена соответствующего издателя. Например, некоторые игры серии Monster Hunter были кроссплатформенными, но только между платформами Nintendo — 3DS, Wii U и Switch.
Косплеер из Monster Hunter Swordwoman
Примеров более всеобъемлющих кроссплатформенных многопользовательских игр все еще слишком мало, но их количество медленно растет.
Естественно, что кроссплатформенные функции становятся все более популярными, поскольку игры AAA выпускаются на большинстве основных платформ уже много лет.По мере того, как оборудование продолжает совершенствоваться, архитектура консоли продолжает приближаться к архитектуре ПК, связи между всеми платформами будут только укрепляться.
Поскольку в наши дни так много игроков играют в одни и те же игры, многие считают, что они должны иметь возможность посещать одни и те же онлайн-сети. Другими словами: люди должны иметь возможность играть в онлайн-игры со своими друзьями, независимо от платформы.
А почему они должны уметь? Языки сценариев, программные библиотеки и игровые движки достигли такого уровня развития и сложности, при котором специфические для платформы детали могут быть эффективно учтены и соответствующим образом оптимизированы.
Так что же мешает кроссплатформенным играм стать стандартом в индустрии видеоигр?
Препятствия на пути кроссплатформенных игр
К сожалению, разделенная игровая культура
Не секрет, что между популярными платформами и их преданными фанатами идет серьезная конкуренция.
Такие термины, как «PC Master Race» и «Console Peasants» (первое — это то, что многие игроки на ПК любят называть себя, а второе — унизительное оскорбление для тех, кто играет на консолях), регулярно встречаются на форумах и Reddit. потоки.Как ни странно, эти термины крайне не PC (политкорректны).
Очевидно, что немногие игроки на ПК действительно имеют в виду это вредоносным или оскорбительным образом, но все же есть такие, которые категорически отказываются участвовать в каких-либо консольных игроках, полагая, что они и их платформы ниже их превосходных систем.
Это сепаратистское мышление придерживается не только компьютерная аудитория. Многие фанатики PlayStation и Xbox также проявят некоторое неуважение к своим собратьям на ПК.Многие находят игроков на ПК слишком хардкорными как в тщеславии, так и в исполнении.
То же самое можно сказать и о том, как «хардкорные» геймеры относятся к тем, кто играет в основном на мобильных устройствах. Фраза «грязный казуальный» часто используется, чтобы унизить мобильных игроков и опекать их, имея в виду, что большинство мобильных игр не требуют особых навыков для освоения.
Такая разделенная культура действительно может помешать объединению усилий кроссплатформенных игр. Есть те, кто просто не хочет открывать границы между своими доменами и делиться с другими игроками совпадениями на платформах, которые они считают низшими.
Технические ограничения
Это более практичный момент и не имеет никакого отношения к самим играм или геймерам.
Безусловно, существует много различий между комбинацией мыши и клавиатуры и контроллером, и во многих случаях, конечно, не имеет смысла объединять такие разные схемы управления вместе.
В случае шутеров от первого лица мышь и клавиатура дают небольшое преимущество перед контроллером. Мышь предлагает гораздо более высокий уровень чувствительности и точности, чем аналоговый джойстик, и многие консольные игроки просто не смогут за ним поспевать.
Конечно, сторонники кроссплатформенных игр реализовали усиление прицеливания в играх FPS, например, прицеливание, но даже это не решает проблему. Это открывает дверь для обвинений недовольных игроков в мошенничестве в том, что «определенно выстрелил в вас первым».
Кроме того, существуют ограничения сервера, вызванные аппаратными возможностями, например, версия игры для PlayStation 4 ограничивает количество людей, которые могут присоединиться к онлайн-матчу, тем самым предотвращая любую кроссплатформенную поддержку.
Наконец, у консольных плееров не будет такой высокой частоты кадров или производительности в целом, как у компьютеров более высокого класса. Это, безусловно, дает игрокам на ПК значительное преимущество в том, что их игры просто работают плавнее и быстрее.
Новый уровень совместной игры
Несмотря на такие ограничения, над которыми постоянно работают сторонники кроссплатформенности, многие люди по-прежнему отчаянно хотят играть в свои любимые игры со своими друзьями на разных платформах.
Было время, когда разделенный экран был предпочтительным инструментом для многопользовательских игр на консолях, до появления высокоскоростных интернет-линий. Хотя мы видим невероятные новые уровни сетевой игры, слишком многие люди упускают из виду физическое взаимодействие старых времен.
Возможность играть во что-то вроде Sea of Thieves с другом или членом семьи в одной комнате, когда один человек играет на ПК, а другой на Xbox One, разожжет это чувство единения.
Люди действительно хотят играть вместе, а устойчивых элитных игроков немного, и они далеко друг от друга по сравнению с большинством добродушных людей, которые хотели бы испытать свой характер против игроков на других средах.
Есть много кооперативных игр, в которые люди хотели бы играть друг с другом, но не могут из-за отсутствия кроссплатформенной поддержки. Когда дело доходит до лучших онлайн-игр для игры с друзьями, действительно очень жаль, когда люди не могут собраться вместе из-за технических ограничений.
Это то, что, по мнению многих, побудит разработчиков преодолеть упомянутые недостатки. По мере того, как консоли становятся более мощными, а контроллеры — более сложными, мы очень скоро увидим будущие платформы, такие как Xbox Two и PlayStation 5, которые смогут сравниться по мощности с высокопроизводительными ПК.
Такой баланс силы и возможностей в конечном итоге приведет к выравниванию игрового поля, необходимому для того, чтобы кроссплатформенные игры стали доступны массам. Когда игроки разных сред смогут свободно взаимодействовать друг с другом, возможно, стены между ПК, консолями и мобильными игроками наконец рухнут.
Кроссплатформенные многопользовательские игры объединяют людей
К удовольствию бесчисленного множества людей по всему миру, Sea of Thieves — один из лучших новых примеров кроссплатформенных игр.Редкая пиратская эпопея позволяет игрокам на ПК с Windows 10, Xbox One и Xbox One X путешествовать вместе.
Еще в середине 2016 года главный дизайнер Rare для ПК Тед Тимминс и исполнительный продюсер Джо Нит взволнованно объявили в видео, в котором обсуждались особенности Sea of Thieves, что кросс-игра действительно станет функцией в их предстоящей безудержной MMO.
Очевидно, с тех пор такое обещание было чем-то, чем искренне интересовались многие геймеры, искренне надеясь, что эта игра принесет стабильный и сбалансированный кроссплатформенный опыт, который произведет революцию в этой инновационной функциональности.
Согласно статье о кросс-игре на официальном сайте Sea of Thieves, разработчики задались вопросом: «Зачем нам вообще нужно разделять игроков?»
Это важный вопрос. Нет никакой реальной причины разделять игровое сообщество, особенно с новой игрой Microsoft Play Anywhere
.
бесплатных кроссплатформенных инструментов разработки мобильных приложений по сравнению с
Как разработчик с личными проектами, я редко трачу много денег на свои любимые идеи. Я предпочитаю создать что-нибудь вместе, а не платить за инструмент, чтобы сократить время разработки. В качестве финансового риска я считаю время менее ценным, чем мой ограниченный запас дискреционных средств — то есть до тех пор, пока мое дополнительное приложение не достигнет больших размеров, и я не заработаю миллиарды. Но если вы не похожи на меня и ищете надежные решения для модернизации устаревших систем или создания масштабируемых внутренних или ориентированных на клиентов приложений в нужное время для вывода на рынок, то я советую вам перейти на мой кроссплатформенный мобильный руководство по развитию для предприятий прямо сейчас.
Если нет, то в этот список входят инструменты с открытым исходным кодом и бесплатные кроссплатформенные инструменты разработки мобильных приложений, которые любой разработчик может использовать немедленно.
Примечание. Некоторые бесплатные кроссплатформенные инструменты разработки мобильных приложений также доступны в виде платных планов, но все они обеспечивают бесплатное и неограниченное производственное использование.
Узнайте, что можно создать с помощью платформы разработки приложений с низким уровнем кода
1. Apache Cordova
Apache Cordova занимает первое место в этом списке, потому что обеспечивает процесс сборки для большинства бесплатных кроссплатформенных инструментов разработки мобильных приложений, а также многих, которые не являются бесплатными, если на то пошло. .Ранее известная как PhoneGap, Adobe выпустила Cordova как проект с открытым исходным кодом, который на момент написания этой статьи получил поддержку от BlackBerry, Google, IBM, Intel и Microsoft.
Большинство кроссплатформенных инструментов разработки мобильных приложений в этом списке, как бесплатных, так и платных, используют Cordova для упаковки единой кодовой базы в собственный исполняемый файл. Cordova сначала объединяет HTML, CSS и JavaScript в пакет на стороне клиента. Затем программное обеспечение выполняет и отображает пользовательский код в собственном WebView — это известно как «гибридный» метод приложения.Гибридный подход предоставляет решение для однократной записи и выполнения в любом месте (WORA).
Термин WebView относится к элементу собственного интерфейса, который позволяет разработчикам мобильных приложений отображать веб-контент в своих приложениях. В веб-разработке мы используем iframes; в мобильной разработке — WebViews.
Обернув веб-код в собственный пакет Cordova, Cordova может предоставить доступ к собственным API. А за счет включения плагинов, созданных сообществом, приложения могут подключаться к любому количеству этих API, используя простой JavaScript.
Плюсы: Исключение посредника. Работая непосредственно над Cordova, разработчики получают доступ к последним обновлениям от команды Apache. С каждой версией Cordova получает доступ к важнейшим улучшениям ОС. Эти улучшения могут улучшить производительность Cordova и предоставить ей доступ к новым API. Стройте прямо на вершине Кордовы, и вы никогда не пропустите.
Минусы: Cordova не зависит от пользовательского интерфейса и фреймворка. Все дизайнерские и архитектурные решения остаются на усмотрение разработчика.Это может не быть проблемой, если вы раньше создавали веб-сайты, ориентированные на мобильные устройства. Но если вы впервые работаете над мобильным приложением, подумайте о фреймворке, который требует больше усилий. А согласно опросу разработчиков StackOverflow, разработчики больше всего боятся работать с Cordova.
2. Adobe PhoneGap
Да, фактический продукт PhoneGap отделен от Apache Cordova. Как указывалось выше, PhoneGap изначально был основой для Cordova, но теперь это отдельный продукт, работающий на Cordova — раз они меняются.Основным преимуществом, которое Adobe предоставляет PhoneGap, является система сборки с графическим интерфейсом пользователя, которая абстрагирует беспорядок командной строки Apache Cordova.
Предоставляя интерфейс для создания приложений Cordova, PhoneGap упрощает процесс и ускоряет работу разработчиков. PhoneGap также предлагает сервер приложений, который вы можете запускать со своего компьютера для размещения приложений в сети. Сервер ускоряет цикл сборки → запуска → проверки, поэтому разработчики могут тратить больше времени на кодирование и меньше времени на запуск, компиляцию и развертывание обновлений вручную.
Плюсы: Упрощает Apache Cordova, предоставляя систему сборки с графическим интерфейсом пользователя и проекты шаблонов, чтобы помочь начать гибридную разработку (один из этих шаблонов включает в себя другой инструмент из этого списка, Framework 7). PhoneGap также пользуется постоянной поддержкой Adobe и сотен разработчиков ПО с открытым исходным кодом.
Минусы: PhoneGap не имеет твердого мнения о том, как создавать приложения. Таким образом, хотя он упрощает Cordova, он не будет держать вас за руку намного дальше.
Хмм: PhoneGap, хотя и тонкий, имеет кодовый профиль, который находится над Cordova.Некоторые разработчики жалуются, что это приводит к снижению производительности приложений. Достоинства этой жалобы трудно оценить. Я считаю, что проблемы с производительностью в первую очередь связаны с конкретными приложениями, а не с самой платформой.
3. Ионный каркас
В предыдущем разделе я показал, что PhoneGap — это тонкий слой над Apache Cordova, который улучшает возможности гибридной разработки, не навязывая разработчику парадигму или структуру приложения.В качестве аналогичного, но более самоуверенного инструмента, обеспечивающего отличный опыт разработки, рассмотрим Ionic Framework.
Ionic сочетает Angular с собственной библиотекой пользовательского интерфейса, чтобы обеспечить кроссплатформенный опыт разработки мобильных приложений, знакомый многим веб-разработчикам. Они находят это настолько знакомым, что Ionic стал синонимом кроссплатформенной гибридной разработки. На самом деле, даже больше, чем PhoneGap. Однако процесс мобильной сборки Ionic основан на PhoneGap и, следовательно, также наследует все плагины Apache Cordova.
Плюсы: Ionic — это наиболее распространенное в мире гибридное кроссплатформенное решение, поскольку оно позволяет веб-разработчикам продолжать использовать интерфейсную структуру, с которой многие из них знакомы: Angular. Включив Angular в свою структуру, Ionic упрощает переход от веб-разработки к мобильной. Ionic также поддерживает прогрессивные веб-приложения, которые работают в Chrome, и гибридные настольные приложения, поддерживаемые Electron.
Минусы: При нынешней структуре цен разработчики бесплатного плана Kickstarter от Ionic ограничены разработкой сборок.И сборки для разработки ограничены отладкой на собственном устройстве: развертывание сборок для разработки в любом из магазинов приложений невозможно . Чтобы опубликовать свои приложения, разработчики должны обновить свою подписку.
4. Каркас 7
Framework7 — еще один бесплатный кроссплатформенный инструмент для разработки мобильных приложений на базе Apache Cordova. Framework7 предоставляет платформу приложения (построенную на Vue.js) и множество готовых элементов интерфейса, имитирующих собственные интерфейсы.Этот инструмент воссоздает стандартные дизайны iOS и шаблоны Google Material Design, чтобы воспроизвести «естественный вид» мобильных пользователей. Вот пример того, как Framework7 помогает разработчикам создавать точные копии дизайнов iOS:
Framework7 также позволяет разработчикам настраивать интерфейс — эти встроенные темы представляют собой просто рекомендации, которые могут сократить время разработки.
Плюсы: Framework7 добавляет два критических уровня в структуру приложения Cordova и элементы интерфейса.Если вы готовы пожертвовать небольшим контролем, вы получите множество готовых возможностей с Framework7. Эти функции ускорят цикл разработки по сравнению с непосредственной работой с Cordova.
Минусы: Это проект с открытым исходным кодом, причем недавний. Нет никаких гарантий, что сообщество Framework7 будет оставаться активным и постоянно включать в себя новейшие разработки из Купертино и Маунтин-Вью, что может привести к тому, что приложения будут выглядеть устаревшими.Framework7 также весьма самоуверен. Если вы не являетесь поклонником Vue или не хотите учиться, вам придется искать другой инструмент.
5. Apache Weex
Да, это еще один бесплатный кроссплатформенный инструмент для разработки мобильных приложений, спонсируемый Apache. Разработчики Weex объединили идею Кордовы с интерпретатором JavaScript во время выполнения. Их инструмент генерирует собственный опыт из одного исходного кода, тогда как Cordova выполняет JavaScript и отображает HTML в WebView.Weex интерпретирует HTML и отображает его динамически, используя собственные элементы представления.
Как и Framework7, Weex предоставляет компоненты пользовательского интерфейса из коробки. Но эти элементы переводятся в свои родные аналоги во время устного перевода, тем самым значительно повышая производительность. Как и в Кордове, у Weex есть сильное сообщество независимых разработчиков, которые вносят новый дизайн и плагины интерфейса, чтобы поддерживать платформу в актуальном состоянии.
Плюсы: Производительность. Weex будет выполнять приложения JavaScript с почти нативной скоростью.А пользователям будет сложно отличить приложение Weex от нативного: оба используют нативные элементы пользовательского интерфейса, тогда как гибридные (приложения на основе WebView) напрямую визуализируют HTML и CSS.
Минусы: В отличие от Кордовы, Weex не полностью одобрен Apache Software Foundation. В настоящее время это инкубационный проект. А разработчики не смогут переносить приложения, написанные на Weex, на другие платформы. Поэтому, если Weex не получит одобрения, в будущем разработчики могут быть вынуждены переписать значительную часть своих приложений.
6. React Native
В то время как Weex полагается на Vue как на основную платформу приложения, React Native наследуется от самого React. Если вы знакомы с созданием веб-приложений на React, адаптировать React Native для разработки мобильных приложений не составит труда. И, как и Weex, React Native интерпретирует ваш исходный код и преобразует его в собственные элементы на лету. Но если это что-то среднее между этой и другими фреймворками, преобразовывающими JavaScript в нативные, следует учитывать популярность React Native.
React Native, несомненно, самая популярная платформа JavaScript-to-native. Своей популярностью инструмент обязан своему известному основателю: Facebook. Собственные приложения как для Facebook, так и для Instagram созданы с использованием React Native. Если два наиболее часто используемых приложения в мире могут доверять этой платформе, то можете и вы.
Плюсы: React Native проверен на практике. У Facebook и Instagram миллионы ежедневно активных пользователей, и эти пользователи требуют производительности. И пока эти продукты полагаются на React Native, разработчики могут ожидать, что инженеры Facebook будут регулярно обновлять эту структуру.И так же, как Weex и другие платформы JavaScript-to-Native, React Native предлагает преимущество в производительности по сравнению с гибридными решениями.
Минусы: Если вам не нравится работать с React, не ждите, что React Native изменит ваше мнение. И по сравнению с более ранними инструментами в этом списке, React Native не ВЕРНУТЬСЯ. Это может быть проблемой не для всех, но React Native требует, чтобы разработчики адаптировали каждую реализацию интерфейса к своей целевой платформе. Это означает, что вы создадите версию для Android и iOS для каждого экрана и элемента.И, несмотря на использование веб-технологий, таких как JavaScript, интерфейс представляет собой сочетание пользовательского языка разметки и собственного пользовательского интерфейса. Поэтому разработчики не могут использовать существующие библиотеки CSS или плагины jQuery.
7. NativeScript
NativeScript — прямой конкурент React Native. Поддерживаемый крупной организацией (Progress) и используемый ветеранами отрасли (SAP), NativeScript предлагает аналогичный опыт кроссплатформенной разработки со своим конкурентом, поддерживаемым Facebook, но напоминает подход к разработке Ionic Framework.Как и React Native, NativeScript компилирует ваше приложение JavaScript в нативную мобильную среду. По сути, он продвигает Angular 2 как платформу для своих приложений, но разработчики могут отказаться и использовать стандартный JavaScript с API NativeScript.
NativeScript также позволяет разработчикам почувствовать конечный продукт, предоставляя демонстрационные приложения интерфейса для Android и iOS. Оба приложения были созданы на основе единой кодовой базы, что доказывает, что NativeScript — это решение WORA, способное обеспечить высокую производительность на обеих платформах.
Плюсы: NativeScript предлагает такую же производительность по сравнению с гибридными решениями за счет создания собственных приложений на основе JavaScript. Компании корпоративного уровня поддерживают и используют NativeScript в своих собственных приложениях, так что он останется на некоторое время. NativeScript также напрямую интегрируется с Gradle и CocoaPods, что позволяет разработчикам включать собственные библиотеки Swift, Objective-C и Java в свои проекты NativeScript.
Минусы: По сравнению с React Native, приложения NativeScript не испытали всплеска ежедневной бомбардировки пользователями своих мобильных интерфейсов.Нельзя указать на одно приложение, построенное на этом инструменте, к которому каждый час обращаются миллионы пользователей (например, Facebook с React Native). Если вы ожидаете, что ваше приложение будет получать огромный трафик, не существует тематического исследования, которое проверяло бы NativeScript в качестве жизнеспособного варианта среди бесплатных кроссплатформенных инструментов для мобильных приложений (но вы могли бы стать первым!). И, как и React Native, NativeScript использует настраиваемую разметку для разработки своих интерфейсов — без CSS3 или HTML5.
8. Флаттер
Мы собираемся немного повернуть налево, чтобы поговорить о Flutter.Flutter — это ответ Google на собственную проблему Google: «мы продолжаем создавать приложения iOS и Android для каждого мобильного продукта; это уже раздражает «. Это не настоящая цитата, а скорее мнение, которое определенно выразил по крайней мере один гуглер. Flutter компилируется в собственный код, но требует чего-то другого, кроме JavaScript: Dart. Ошибочный выбор Google в пользу Dart вместо JavaScript становится предсказуемым, когда вы узнаете, что Dart был изобретен в Google для замены JavaScript.
Flutter не только поддерживает собственный язык программирования Google, но и тесно связан с другим продуктом Google: Material Design.Если вы готовы делать что-то по принципу Google, вы пожнете плоды. Flutter — единственное многоплатформенное решение с открытым исходным кодом, поддерживаемое компанией, которая также использует крупную мобильную платформу. У Apple такого продукта нет, а инструмент Microsoft Xamarin менее либерален.
Плюсы: Ненулевое количество мобильных приложений Google построено на Flutter. И если Flutter достаточно хорош для корпоративного короля мобильных устройств, он, вероятно, достаточно хорош для вас. Язык Dart и его мобильная среда исполнения приближаются к исходным скоростям производительности; Google не согласится на меньшее.А с помощью инструментов Google вы можете создать приложение, которое будет знакомо людям, использующим Gmail, Google Maps и другие приложения, использующие Material Design.
Минусы: Flutter — это альфа-продукт. А с изменяющимся мобильным ландшафтом нет никаких гарантий, что он достигнет первой версии или что Google продолжит его поддерживать (хотя неофициальные данные свидетельствуют о том, что они будут). Кроме того, большинство разработчиков не знакомы с Dart, поэтому Flutter поставляется в комплекте с языком, который вам, возможно, придется выучить перед началом работы.И хотя Flutter позволяет настраивать виджеты и стили, он по-прежнему сильно смещен в сторону материального дизайна.
9. Jasonette
Мы сделали левый поворот в этом списке бесплатных кроссплатформенных инструментов для разработки мобильных приложений с Flutter, но теперь мы собираемся сделать поворот в космос с Jasonette. Если вы веб-разработчик, вы знакомы с рендерингом на стороне сервера. Этот процесс генерирует разметку на сервере, и браузер загружает готовую страницу прямо из облака.Jasonette действует аналогично: ваш сервер предоставляет файл JSON для каждого мобильного экрана, с которым взаимодействует пользователь.
На стороне клиента Jasonette отображает этот файл, используя собственные мобильные компоненты. В Jasonette нет промежуточной среды выполнения, которая выполняет JavaScript, Dart или любой другой неродной язык. Единственные накладные расходы в приложении Jasonette — это поиск и анализ ваших макетов JSON. Если вы планируете создать мобильное приложение без сохранения состояния, у вас нет кроссплатформенного варианта, превосходящего Jasonette.А Jasonette предоставляет пользователю действия, которые могут выполнять сетевые запросы и получать результаты без дополнительного рендеринга на стороне сервера.
Плюсы: Jasonette настолько естественен, насколько это возможно — и макеты, и логика используют интерфейсы API и среды выполнения на устройстве. И этот фреймворк на основе JSON может значительно уменьшить размер базы мобильного кода.
Минусы: Для нестатических приложений ваша серверная реализация требует дополнительных функций для ответа с помощью JSON в стиле Jasonette.А поддержка встроенной логики Jasonette выглядит примерно так:
Которая объединяет логику и схему в гротескного, непроверяемого монстра. Для больших команд приложение на основе Jasonette может быть слишком неудобным для обслуживания.
10. Коллектор
Если у вас есть опыт работы над адаптивными веб-сайтами, ориентированными на мобильные устройства, или если у вас уже есть работающий веб-сайт для мобильных устройств, ManifoldJS может стать для вас решением. В отличие от других бесплатных кроссплатформенных инструментов для разработки мобильных приложений из этого списка, Manifold не оказывает существенного влияния на процесс разработки мобильных приложений.Все, что он делает, — это обертывание существующего размещенного веб-приложения собственным контейнером.
С помощью такой команды
коллектор js https://my-website.com -p android
Manifold превращает ваше веб-приложение в собственный пакет, который вы можете отправить в Google Play. Под капотом Manifold использует Crosswalk Project для обеспечения согласованной производительности и возможностей WebView на всех мобильных платформах (как и большинство гибридных инструментов в этом списке). Поэтому, если вы предпочитаете создать мобильный сайт или уже имеете тот, которому просто нужна собственная оболочка, Manifold — ваш выбор.
Плюсы: Manifold прост в использовании и может помочь вам в полной мере использовать преимущества мобильного сайта, который у вас уже есть в Интернете. С некоторыми настройками ваше веб-приложение будет работать как родное за считанные секунды.
Минусы: Доступ к собственным API-интерфейсам сложен, но возможен. Большую озабоченность вызывает отсутствие автономного режима. Manifold имеет «автономную функцию», но он просто показывает заставку для пользователей, которые пытаются получить доступ к вашему приложению в автономном режиме.С Manifold другого выхода нет. Поэтому, если для вашего мобильного приложения требуется настраиваемое автономное поведение или кэшированные данные, поищите в другом месте.
Обуздание бесплатных инструментов разработки кроссплатформенных мобильных приложений
Вы достигли конца веревки с бесплатными кроссплатформенными инструментами для разработки мобильных приложений — довольно сложно, да? Если на данный момент вы все еще сомневаетесь, подходят ли вам бесплатные версии, я предлагаю вам пройти тест-драйв нашей любимой версии, чтобы помочь вам принять решение.
Но если вы считаете, что варианты в этом списке слишком практичны или, возможно, вам нужен инструмент, который поможет вашей команде быстрее выйти на рынок, взгляните на мои руководства по кроссплатформенной мобильной разработке для небольших бюджетов и предприятий. А если вы хотите знать, что о них говорят пользователи, ознакомьтесь с этой статьей о лучших платформах для разработки мобильных приложений на 2019 год, основанной на отзывах реальных пользователей.
Спасибо за чтение! Пробовали ли вы какие-либо из бесплатных инструментов разработки кроссплатформенных мобильных приложений из этого списка? Вы взволнованы, чтобы попробовать новый? Дайте мне знать в Твиттере.
.