Что значит нативные игры

Что такое «Нативное приложение»?

JavaScript?! Как Phonegap? Не, я лучше сделаю нативное приложение.

Приложения на Titanium – это не сайты, которые чудесным образом обернуты в приложения.

Что ты имеешь в виду под «Нативной» разработкой?

А что делает приложение нативным?

Что такое хороший User Experience?

Выглядит и ведет себя ожидаемо

iOS, Android и Windows имеют различные требования к дизайну (iOS, Android,Windows) и если вы опираетесь на них, ваше приложение более предсказуемо и следовательно, проще в использовании.
Отличный пример – TabGroups. На Андроиде они, как правило, встроены в Action Bar и будут прокручиваться если их много. На iOS Tab Bar расположен внизу и если у вас больше пяти табов, то пятый будет вести на экран выбора нужного таба. На Windows Pivot Tabs работают почти как на Андроиде, но выглядят немного по-другому, они не являются частью Command Bar, который расположен внизу экрана.
Что значит нативные игры
Так что технология, которая используется для разработки нативного приложения, не должна иметь собственные UI контролы, вместо этого она должна использовать те, которые предоставлены платформой.
В Titanium есть кросс-платформенные API почти для всего, и он всегда переводит их в платформенные UI-компоненты. Например, Ti.UI.TabGroup даст вам результат как на картинке выше, но напишете вы при этом один код (Alloy):

Для тех API, которые представлены не во всех платформах, мы используем пространства имен, например, Ti.UI.Android.CardView.

Единство API там, где это возможно, платформо-зависимые API – там, где нет. Всегда с уважением к целевой платформе.

Источник

Что такое нативные и кроссплатформенные приложения? Плюсы и минусы.

Что значит нативные игры

Что значит нативные игры

Фактически, рынок заставляет разработчика делать выбор между разработкой кроссплатформенных приложений и разработкой нативных приложений. Рассмотрим детальнее, что представляет из себя каждый из указанных подходов.

Что такое нативные приложения?

Что из себя представляют кроссплатформенные приложения?

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

Какие инструменты для разработки кроссплатформенных приложений применяют чаще всего?

Ссылаясь на статистику 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/UI Design Стартовый

Что значит нативные игры

UX/UI Design мобильных приложений

Что значит нативные игры

Создаем игру типа “Pokémon Go“

Плюсы и минусы кроссплатформенных приложений

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

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

Плюсы кроссплатформенных приложений

Тогда как производительность важна для любого мобильного приложения, его внешний вид (UI) и ощущения (UX) так же важны. Использование единой общей команды разработчиков и единого кода позволяет компаниям использовать одинаковый внешний вид приложения на всех платформах. То есть один и тот же пользовательский интерфейс и UX будет одинаково выглядеть на всех платформах.

Недостатки кроссплатформенной разработки приложений

Механизм добавления вашего приложения, являющегося кроссплатформенным, в Apple App Store и в Google Play Store будет отличаться. Требования этих магазинов приложений к представленным у них продуктам различны. Прохождение всех проверок и выполнение всех правил для соответствия обоим магазинам будут вызывать определенные сложности.

Вывод

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

Бесплатные вебинары по схожей тематике:

Что значит нативные игры

Возможности Vue.js для веб разработчика

Что значит нативные игры

Tips&Tricks: How to Survive Meetings with Foreign Customers

Что значит нативные игры

UX дизайн на практике. Прототипирование и вангирование

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

Для создания кроссплатформенных игр очень удобным инструментом является Unity и на ITVDN вы найдете серию видео курсов по разработке игр на Unity.

Если вы хотите попробовать себя в разработке кроссплатформенных приложений с использованием такого инструмента, как Xamarin, вам могут оказаться полезными такие уроки на портале ITVDN.com, как Xamarin. Легкий старт и Разработка пользовательского графического интерфейса (GUI) на C# под Android (Xamarin).

Также смотрите на ITVDN видео курсы по специальности Android Developer и iOS Developer.

Источник

Что выбрать, нативное или кроссплатформенное приложение

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

Особенности разработки нативных приложений

Что это вообще такое?

Нативное приложение делают отдельно под каждую платформу. Если вы хотите иметь нативные приложения для iOS и Android, нужно разрабатывать два отдельных приложения на разных языках, например, для iOS Swift, а для Android — Kotlin.

Что хорошего в нативе?

Гибкий, богатый функционал. В приложении можно реализовать любые возможности, поддерживаемые телефоном.

Нет, золото из свинца вы не получите, но фотографии, видео, геопозиция, платежи, гироскоп, компас, распознавание отпечатка пальца — вот это все и немножко больше можно задействовать, по-максимуму реализовав возможности смартфона.

Что значит нативные игры

Отличная скорость работы приложения. При разработке используется родной для платформы код, и у готового приложение получается быстрый отклик и отзывчивый интерфейс. По сравнению с таким же по функционалу и качеству кода кроссплатформенным приложением, нативное быстрее на 30%.

Что значит нативные игры

Быстрое обновление. Если функционал iOS и Android обновляется, сразу же обновляются и нативные приложения. С кроссплатформенным приложением придется ждать обновления фреймворка. И никто не скажет, на сколько это затянется.

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

Для приложений, чей UI/UX основан на стандартных паттернах пользователей, это может быть критичным.

Что значит нативные игры

Особенности кроссплатформенной разработки

Что такое кроссплатформа?

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

Что хорошего в кроссплатформенной разработке?

Стоит меньше и делается быстрее. Кроссплатформенная разработка, как правило, экономит ресурсы, поскольку код пишется одновременно для iOS и Android. Экономия составляет до 50% времени.

Что значит нативные игры

На Flutter, например, писать код быстрее, чем на натив. И, соответственно, дешевле.

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

Единый UI. Логика работы у iOS и Android разная, поэтому нативные приложения в них выглядят по-разному. Кроссплатформенное приложение одинаково на всех платформах.

Меньше ошибок в бизнес-логике. Кроссплатформенные приложения пишут кроссплатформенные разработчики, которые пользуются единой основой для iOS- и Android-версии.

Широкая аудитория. Кроссплатформенные приложения доступны пользователям iOS и Android, поэтому аудитория изначально шире. С другой стороны, с кроссплатформой до аудитории можно и вовсе не добраться: у AppStore, например, очень жесткие требования к гибридным приложениям и они с большим трудом проходят модерацию в маркете.

Что значит нативные игры

Самые неприятные ограничения кроссплатформенных фреймворков

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

Во-вторых, с масштабированием и множественными интеграциями количество «костылей» резко увеличивается.

Что значит нативные игры

Рано или поздно наступает момент, когда каждая правка такого приложения превращается в ад, муки и дорогие часы техподдержки.

Привередливость операционных систем. У платформ множество различий и все их нужно учитывать в кроссплатформенном фрейме. Например, macOS управляет оперативной памятью, а Windows — нет.

Чтобы приложение не только бесперебойно работало, но и полноценно использовало системные функции, нужен хороший, очень хороший кроссплатформенный разработчик, а их на рынке немного.

Apple предпочитает нативный код. В политике Apple кроссплатформенные решения не в почете: иногда компания выпускает запрещающий список кроссплатформ, которые больше не смогут публиковаться в App Store.

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

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

Что значит нативные игры

Как выбрать платформу разработки

Отталкивайтесь от задач, которые поставлены перед проектом. Нативное приложение — единственный вариант для узкой или исключительно требовательной платежеспособной аудитории. Для технически простых проектов, рассчитанных на широкую аудиторию или B2B приложений для корпоративного использования можно выбрать кроссплатформу.

Если приложению нужна максимальная производительность, предусмотрена многоступенчатая вложенность, требуется предельная отзывчивость, максимум системных функций — это только натив. Также, только в нативном приложении можно реализовать сложные интерфейсы. Вот почему игровые продукты с 3D графикой могут быть только нативными.

Нужен быстрый результат и возможность поэкспериментировать, когда внедряете что-то необычное? Делайте кроссплатформенное приложение. Выводите на рынок новый продукт, а спрос пока не сформирован? Делайте MVP на кроссплатформе. Сможете недорого протестировать идею и быстро выйти на рынок.

Каждом продукту — свой инструмент. Каждому бизнесу — свое решение.

Источник

Альманах новичка. Развеиваем заблуждения о Linux-гейминге

Так исторически сложилось, что на территории СНГ основной игровой платформой принято считать PC под управлением операционной системы Windows, а при упоминании Linux-систем, как возможной альтернативы, у многих пользователей может возникнуть недопонимание или чего хуже агрессия. В этом материале мы постараемся опровергнуть большинство заблуждений, которые витают вокруг Linux-гейминга и попробуем разобраться, а можно ли играть?

Внимание!

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

Содержание

Особенности Linux-гейминга

Когда мы затрагиваем тему Linux-гейминга, то сто́ит учитывать, что развитие Linux-систем в игровом направлении сдвинулось с мёртвой точки совсем недавно и до этого, стараниями одного софтверного гиганта, имело весьма плачевный вид. Я не стану повторять почему так было ранее, а лишь отмечу, что Linux-дистрибутивы предоставляют обширные возможности в плане игр и недооценивать их потенциал не стоит.

Нативные Linux-игры

Современные нативные Linux-игры — это проекты изначально создаваемые с учётом особенностей Linux-систем как со стороны игровых движков, так и в плане графического API. Обычно такие игры не вызывают проблем в плане установки и показывают аналогичную или лучшую производительность по сравнению с Windows-версиями.
Проведём сравнительное тестирование Linux-дистрибутива ArchLinux и Windows 10 PRO в нативном сетевом проекте Dota 2.

Исходя из показаний теста отчётливо видно, что мы не только не проигрываем Windows-версии, но и получаем преимущество Linux-системы. Меньшее потребление оперативной памяти в совокупности с независимостью со стороны работы фоновых активностей Windows (обновления, задачи по расписанию, телеметрия), а также отсутствие дополнительной синхронизации DWM, обеспечивает более плавный и приятный геймплей.

Такая экономия ресурсов позволяет уверенно рекомендовать Linux-системы владельцам слабых машин, а также увлеченным геймерам, которые не желают постороннего вмешательства во время игровой сессии и жаждут высокого FPS с максимальным откликом.

Windows-игры на Linux

Переходя к запуску Windows-игр на Linux-системах, сто́ит иметь в виду, что никаких эмуляторов Windows на Linux не существует и весь запуск осуществляется с помощью сторонней реализации Windows API — Wine/Proton, а также средств ретрансляции команд DirectX в доступные графические API на Linux (Vulkan, OpenGL) с помощью DXVK. Выполним запуск нескольких Windows-игр на Linux.

Запуск Resident Evil 3 с использованием Proton прошёл без проблем, а отзывчивость геймплея не доставила каких-либо проблем.

Call of Duty: Modern Warfare 2 — лучшая сюжетная часть зова долга, аналогично работает более плавно под Linux из-за ретрансляции вызовов в Vulkan.

Возможно, кто-то скажет, что новичку будет непривычно разобраться во всяких причудах для запуска Windows-игр в Linux, но теперь все сложные настройки и прочее конфигурационное веселье настраивается в простом графическом помощнике — Lutris.

Lutris — это не только бесплатный менеджер игр для Linux, но и полноценным игровой сервис, который обеспечивает потрясающие возможности в плане простоты установки и настройки игр для Linux.
Выполним установку и запуск GOG версии The Witcher 3 с использованием Wine и Lutris.

Установив Wine на свой Linux-дистрибутив, мы получили возможность установки и запуска не только The Witcher 3, но и большинства Windows-игр и программ через обычный двойной клик (зависит от DE), а также возможность выбора варианта установки с помощью готовых скриптов для Lutris.

Конечно, производительность многих игр будет зависеть от множества факторов и без проблем не обойтись, но если ссылаться на популярные ресурсы по отслеживанию производительности Windows-игр на Linux (ProtonDB, Lutris), то можно заметить, что никаких проблем с производительностью у большинства проектов нет и поиграть во многие хитовые игры не составит труда.

Open source и эмуляторы

Проекты с открытым исходным кодом и эмуляторы, возможно, лучшее волшебство, что доступно на Linux, ведь они дают возможность прикоснуться к огромной библиотеке игр без ограничений и подарить ощущение истинной свободы. Я не стану рассуждать про преимущества компиляции под железо и разные красноглазые трюки, а лишь отмечу, что в установке эмуляторов и open source игр нет ничего сложно и вы легко сможете найти их на Github или в пакетном менеджере вашего дистрибутива. Перечислим несколько знаковых проектов, которые мне когда-то понравились.

The Dark Mod — это лучший мультиплатформенный стелс, который построен на базе движка DooM 3 и повествующий о приключениях Гаррета вора. Вас ожидает прелестный старина Гаррет и сотни продуманных карт. Доступно совершенно бесплатно!

Minetest — это бесплатная версия популярной песочницы Minecraft с потрящающей механикой. Доступно бесплатно.

OpenMW — бесплатный Morrowind, что без проблем работает на современных системах и выглядит привлекательней оригинала. Доступно бесплатно.

Буду честен, эмуляторами пользовался нечасто и в основном это были эмули PS2 и PS3, но работа их идеальна, ибо не зря существуют целые Linux-дистрибутивы, которые превращают любое устройство в консольный комбайн. (Libretro, RetroArch, Lakka).

Можно ещё долго продолжать этот список, но надеюсь, что суть вы уловили, так как существует уйма проектов, которые только и ждут, пока вы их попробуете.

Плюсы и минусы игры на Linux

Плюсы:

Минусы:

Заключение

В общем, я не заставляю и не пропагандирую ставить Linux пользователям, которые не совсем понимают, а зачем мне всё это? Я лишь хотел донести, что миры Linux-гейминга хоть и связаны со многими трудностями, но постепенно, преодолевая проблемы, дарят истинную свободу, которая сможет выручить не один раз.

Видеоверсия

Источник

Мобильная разработка: Cross-platform или Native

Всем привет! Я Игорь Веденеев, руководитель мобильной разработки в AGIMA. Поговорим немного о нативной и кроссплатформенной разработке. Раньше я по большей части скептически относился ко второй: не устраивало качество конечных приложений в первую очередь. Однако за последний год темпы развития кроссплатформенных фреймворков уже не в первый раз заставляют пересмотреть свое мнение насчет такого подхода. Поэтому давайте еще раз сравним самые популярные кроссплатформенные решения и нативную разработку.

Что значит нативные игры

На всякий случай

Если вы не знаете, что такое нативная и кроссплатформенная разработка:

нативная разработка (2 независимых приложения на языках Swift и Kotlin);

кроссплатформенная разработка — общая кодовая база для iOS и Android (с применением фреймворков Flutter или React Native (далее RN)).

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

Нативная разработка

Нативная разработка — это классический способ создания приложения для iOS и Android. Ведется она с использованием инструментов и языков программирования, предложенных вендорами — Apple и Google. Языки в данном случае — Swift (iOS) и Kotlin (Android), а инструментов для профилирования и отладки в нативной разработке очень много.

Однако мы должны понимать, что в данном случае мы делаем два независимых приложения. Разрабатываются они параллельно. Каждое приложение может реализовать фичу по-своему, и у каждого могут быть свои баги. И самое главное, нативная разработка никуда не денется: пока существуют iOS и Android, Apple и Google будут предоставлять инструментарий для создания приложений.

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

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

Плюсы и минусы нативной разработки

2 независимых приложения

Стоимость разработки и отладки

Меньше потребляемых ресурсов*

Богатый инструментарий для разработки

Широкий рынок разработчиков

Кроссплатформенная разработка

Кроссплатформенная разработка подразумевает, что мы используем один и тот же код и на iOS, и на Android. Вообще говоря, это всё такое же нативное приложение, но, запустив его, мы сразу проваливаемся в мир Flutter или RN, и всё происходит уже там. Стоит отметить, что разработка на Flutter/RN идет быстрее. Причем не только за счет того, что мы делаем 1 приложение вместо 2-х, а еще и за счет концепций создания приложений, в частности UI.

Но, увы, не всё так хорошо: кроссплатформа имеет ряд проблем, на которые стоит обратить внимание, прежде чем выбирать этот подход для своего приложения. React Native и Flutter всё же сторонние Open Source-решения. В них могут встречаться баги. Новые фишки iOS и Android там будут появляться не так быстро, как при нативных решениях. Может прекратиться поддержка, в конце концов.

Также, довольно часто придется полагаться на сторонние Open Source-библиотеки, что тоже несет в себе риски потенциальных проблем: например, совместимость версии Flutter/RN. Не исключен вариант, что нужной библиотеки не существует в природе, и тогда придется реализовывать всё с нуля самому. Также нельзя добавить расширения для iOS-приложений или, например, приложение на часы. Это касается и Flutter, и RN.

То есть для реализации определенных фич придется добавлять нативный код, что приведет к смешению технологий. Как минимум надо будет иметь в них компетенции. Как максимум — организовывать передачу данных из нативного кода в кроссплатформенный и наоборот.

Если в приложении много логики и есть необходимость сделать ее многопоточной, это тоже будет проблемой и во Flutter, и в RN. Это возможно, но, скажем, это не то, для чего были предназначены эти фреймворки. Также каждый из фреймворков имеет достаточно тяжелую исполнительную среду, что делает кроссплатформенные приложения более ресурсоемкими и требовательными к процессору/оперативке телефона.

Если приложение подразумевает обширное использование аппаратных возможностей телефона, взаимодействия с ОС, то я бы тоже не рекомендовал использовать кроссплатформу — есть риск, что в какой-то момент или код станет очень запутанным, или мы упремся в ограничения одной из платформ или самого фреймворка. Еще стоит учесть, что нам стоит использовать платформенно нейтральный UI, чтобы не создавать потенциальных проблем с различным поведением на платформах и в принципе не снижать на этом скорость разработки.

На картинке ниже представлены результаты теста с простым списком с изображениями: видим, что нативное приложение выигрывает вчистую. Да, на более новых моделях телефонов разница будет не такой значительной, но тенденцию можно видеть. Результаты остальных тестов тут.

Что значит нативные игры

Если проще, то кроссплатформа позволяет разработать приложение в кратчайшие сроки. Лучше всего подходит для приложений-витрин услуг или товаров среднего/малого объема без обширного использования платформенных возможностей. То есть снять фотку на аватар или отсканировать QR-код не составит больших проблем, но, если вы делаете приложение вокруг камеры, лучше рассмотреть нативную разработку.

Плюсы и минусы кроссплатформенной разработки

Источник

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

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