Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Нативная разработка vs кроссплатформенная – обсуждаем 30 сентября с владельцами приложений

Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Конференции Flutter *
Всем привет! Споры о том, какие мобильные приложения лучше — нативные или кроссплатформенные — не утихают годами. Ранее мы уже писали об этом на Хабре, а теперь предлагаем узнать из первых уст, у владельцев приложений, чем они руководствуются при выборе. Проведем дискуссию, обсудим кейсы и лайфхаки с экспертами Росбанка, Яндекс.Такси, Ак Барс.

Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.6K
Комментарии 12

Вышла версия 6.0 фреймворка Qt

Программирование *


Во вторник, 8 декабря, компания Qt Company обновила свой фреймворк для кроссплатформенной разработки. Если сравнить с пятой версией 2012 года, в Qt 6.0 появились новые API для 3D-графики, улучшенная поддержка С++17 и система сборки cmake. Полный список изменений компания публикует на странице в вики.
Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 9K
Комментарии 11

Приглашаем на DartUp 2021

Блог компании Surf Разработка мобильных приложений *Dart *Конференции Flutter *

Приходите 3–4 декабря 2021 года на DartUp 2021 — крупную конференцию о Dart и Flutter! Всё будет в онлайне.

Surf — партнёр DartUp. Мы подготовили интерактивный стенд с полезностями и развлечениями: участники смогут поучаствовать в открытом собеседовании, квизах, послушать доклады и пообщаться с Flutter-разработчиками. 

Участие бесплатное, нужно только зарегистрироваться.

Подробности и расписание
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 291
Комментарии 0

Онлайновый конвертер HTML5-приложений под Android/iOS

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


Разработчикам мобильных приложений приходится непросто, портируя код под каждую ОС, разбираясь с SDK, компиляторами и эмуляторами. Создатели кроссплатформенного фреймворка PhoneGap постарались упростить задачу: тот позиционирует себя как единственный open source мобильный фреймворк с поддержкой шести мобильных платформ. Теперь они пошли ещё дальше и выкатили PhoneGap Build (бета) — простой онлайновый конвертер из HTML5. Достаточно загрузить приложение на html/js/css — и на выходе получаете готовый бинарник для Apple App Store, Android Marketplace, Palm, Symbian или BlackBerry.
Читать дальше →
Всего голосов 30: ↑26 и ↓4 +22
Просмотры 31K
Комментарии 21

Мобильная разработка с Corona SDK

Разработка мобильных приложений *
Из песочницы
Здравствуйте!

Захотелось поделится своим опытом работы с Corona SDK — средством кроссплатформенной разработки для Android/iOS от Ansca Mobile (основатели компании в прошлом работали в Adobe над Flash Lite). Статей здесь про него не так много, хотя движок один из самых популярных и не без причины. Corona SDK предназначен прежде всего для разработки игр, но нем можно писать и бизнес-приложения — для этого в движке есть набор UI-компонентов со сменными стилями. Главным преимуществом движка является значительное увеличение скорости разработки для опытных программистов, а также снижение технического барьера для новичков в мобильном gamedev’е. Продолжение под катом…
Читать дальше →
Всего голосов 33: ↑30 и ↓3 +27
Просмотры 31K
Комментарии 19

Что нам несет обновление Titanium SDK до версии 2.0

Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
Из песочницы
Приветствую всех приверженцев и почитателей кроссплатформенной разработки мобильных приложений с помощью фреймворка Titanium. 16 апреля 2012 года компания Appcelerator анонсировала обновление Titanium Mobile SDK до версии 2.0.1 вкупе с обновлением Titanium Studio все до той же версии 2.0.1. Чуть больше подробностей под катом.

Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 2.7K
Комментарии 12

Portable Components, кроссплатформенная библиотека для C++

C++ *
Из песочницы
«Система должна быть спроектирована так,
чтобы оставаться как можно проще
после серии внесенных в нее изменений»

Бьярне Строуструп – программист, автор языка C++

Преамбула


В данной статье мне бы хотелось бы рассказать о довольно популярной, но так редко освещаемой на Хабре библиотеке Portable Components (сокр. POCO). Она будет полезна как разработчикам бизнес-логики программного продукта, так и в решении большинства прикладных задач. При всем изобилии кроссплатформенных библиотек для C++ всё больше людей сталкиваются с POCO лицом к лицу и не знают с чего начать. В данной статье я постараюсь описать технологии, заложенные в библиотеке и дать простейшие примеры решения некоторых задач. Также хотелось бы отметить, что за плечами библиотеки множество успешных как Open Source, так и коммерческих проектов.
Читать дальше →
Всего голосов 80: ↑80 и ↓0 +80
Просмотры 23K
Комментарии 40

Кросс-вмный (CLR/JVM) код на Python

Python *Java *.NET *
Это узкоспециализированная короткая заметка про то, как я запинывал write once, run everywhere тесты для библиотеки, портированной с C# на Java, при помощи Python.

Смысл в следующем: есть большая, толстая и красивая библиотека, которая была по коммерческим соображениям портирована с C# на Java. API осталось почти одинаковым, naming conventions естественно сменились при переходе на другой язык. Нам нужно было написать толстую пачку тестов, проверяющих, что клон библиотеки работает идентично оригиналу (тесты на регрессии, иными словами). Для этого сравнивались результаты работы кода библиотек (некие бинарники и xml-метаданные). Тесты были нетривиальные, их было много, и что самое неприятное — они постоянно дописывались с одного конца командой из четырех человек. Некоторое время я старательно портировал их на Java, затем плюнул и предложил команде писать тесты на языке, который сразу можно было бы выполнять на CLR (со старой библиотекой) и на JVM (с клоном). Оказалось, они и сами уже некоторое время думали про Python,
и вот как это получилось.
Всего голосов 44: ↑43 и ↓1 +42
Просмотры 3K
Комментарии 10

Игра на QuickTiGame2d в Appcelerator Titanium. Часть 1

Блог компании «ООО «Рус Визардс»» Разработка мобильных приложений *
Из песочницы
В настоящее время весьма перспективным направлением в программировании является кроссплатформенная разработка. Познакомившись с различными средствами (Appcelerator Titanium, PhoneGap, moSync), я, всё же, отдаю свои предпочтения Appcelerator Titanium.

Titanium позволяет создавать Android и iOS приложения на JavaScript. В настоящее время официальный сайт утверждает, что количество разработчиков на данной платформе достигает 300 000.

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

Я бы хотела обратить ваше внимание на двухмерный модуль игрового движка для Titanium Mobile — QuickTiGame2d, основанный на OpenGL ES, который в настоящее время поддерживает разработку для Android и iOS. В данной статье мы рассмотрим процесс установки, а также основные моменты данного движка, а в следующей уже будет непосредственно описано создание небольшой кроссплатформенной игры.
Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Просмотры 4.7K
Комментарии 9

Разработка плагина для PhoneGap

Блог компании «ООО «Рус Визардс»» Разработка мобильных приложений *
В настоящее время развитие кроссплатформенной разработки мобильных приложений набирает всё большие обороты. В этой статье я бы хотела обратить внимание на еще одно средство для реализации таких приложений — PhoneGap. Это бесплатный фреймворк с открытым исходным кодом для создания мобильных приложений.

PhoneGap позволяет создавать iOS, Android, Windows Phone, BlackBerry, Bada, Symbian, webOS приложения на HTML с использованием JavaScript. Количество скачиваний данного фреймворка уже привысило 1 миллион, а количество разработчиков достигает 400 000.


Читать дальше →
Всего голосов 35: ↑33 и ↓2 +31
Просмотры 16K
Комментарии 21

Node.js + Chromium = AppJS: один из перспективных вариантов второго шага эволюции веборазработчика

JavaScript *Google Chrome Node.JS *
Сейчас мы с вами немного поговорим о том, как недавнее появление нового инструмента и связанных с ним возможностей открывает перед современными веборазработчиками возможность достаточно быстро эволюционировать, переходить на новые уровни, обретать новые профессиональные навыки, осваивать новые области созидательного труда. Таким инструментом является Node.js и растущая вокруг него инфраструктура.

Первый шаг эволюции веборазработчика совершается тогда, когда разработчик знакомится с Node.js и тотчас же постигает, что ему теперь достаточно воспользоваться знанием джаваскрипта и изучить довольно простой API Node, чтобы немедленно получить возможность сочинять не одни только скрипты для сайтов, но также и консольные приложения, и даже серверные (в частности, вебсерверные).

Исторически это не первый из таких инструментов.
Каждый из нас может вспомнить, что были и до появления Node.js попытки создать движок для удобного программирования на джаваскрипте (Windows Script Host, Rhino, JSDB, и так далее).

Однако только у Node мы видим и достаточно быстрый движок (V8), и кросс-платформенность, и простой API, и превеликое множество дополнительных модулей. Сочетание этих достоинств делает Node удачным и удобным.

Второй шаг эволюции веборазработчика совершается тогда, когда знание языка JavaScript (а также других веботехнологий — прежде всего CSS и HTML или XML) становится можно применять для разработки ещё и приложений с графическим интерфейсом пользователя — то есть с GUI.

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

Фонд Мозиллы придумал сперва XUL и XULRunner, а затем и целую операционную систему — Firefox OS.

«Хьюлетт-Паккард» выпустил webOS (с недавних пор — Open webOS).

Google придумал Google Chrome OS.

Ещё можно вспомнить, что у Qt есть основанный на JavaScript язык разметки GUI — QML называется.

Развиваются PhoneGap, Appcelerator Titanium, Adobe AIR и другие средства вебоподобного программирования кросс-платформенных приложений.

Часть вышеперечисленных решений родилась на свет увесистою (например, когда для запуска вебоподобного приложения требуется крупная виртуальная машина или даже новая операционная система). Большинство из них также потребует от программиста выучить некоторый API, иногда довольно корявый и страшный (например, XPCOM для XULRunner), но даже когда такой API достаточно изящен, то всё же изучение его требует усилий. Чем больше он умеет, тем более обширным окажется API.

Между тем, если на первом шаге своей эволюции веборазработчик успел выучить API от Node.js — нет ли возможности опереться на это знание и не учить в дальнейшем ничего лишнего?

Второй шаг эволюции веборазработчика становится естественным продолжением первого, если разметка и оформление вебоподобного приложения задаются при помощи HTML и CSS, а поведение — при помощи JavaScript, причём «под капотом» работает ужé известный разработчику движок Node.js.

В частности, если воспользоваться AppJS, то тогда объектная модель (DOM) демонстрируемой «страницы» содержит под именем window.node глобальный объект Node.js, и мы можем без труда прочесть в window.node.process.versions.node версию Node, в window.node.process.arch архитектуру процессора, в window.node.process.platform платформу, и вывести какое-нибудь такое сообщение в окне нашего графического приложения:

[скриншот]

(Понятно, что аналогичным образом можно употреблять и другие возможности Node.js — сетевые, файловые и так далее.)

Что же такое AppJS?

Читать дальше →
Всего голосов 67: ↑54 и ↓13 +41
Просмотры 34K
Комментарии 58

Игра на QuickTiGame2d в Appcelerator Titanium. Часть 2

Блог компании «ООО «Рус Визардс»» Разработка мобильных приложений *

В первой части данной статьи "Игра на QuickTiGame2d в Appcelerator Titanium. Часть 1" я рассказывала о некоторых моментах работы с движком, которые, на мой взгляд, будут полезны тем, кто собирается ознакомиться с этой публикацией. Сейчас я предлагаю рассмотреть создание простейшей игры на Appcelerator Titanium.
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 3.8K
Комментарии 2

Node.js + Chromium = node-webkit: ещё более перспективный вариант второго шага эволюции веборазработчика

JavaScript *Google Chrome Node.JS *
Перевод
Предисловие от переводчика.  В постскриптуме к моей вчерашней блогозаписи я указал, что AppJS — это не единственное такое средство, которое позволяет создавать приложения с GUI (графическим интерфейсом пользователя) при помощи вебоподобных методов разработки на языках HTML, CSS и JavaScript с использованием движка Node.js. Естественной иллюстрацией к этому постскриптуму является нижеследующий перевод гитхабовской страницы проекта node-webkit. И сразу скажу: я предвижу заранее, что непредвзятый взгляд ваш сочтёт node-webkit ещё более удобным и развитым средством, чем AppJS.



Введение


node-webkit — среда для запуска приложений, основанная на Chromium и Node.js. При помощи node-webkit можно создавать традиционные графические приложения посредством HTML и JavaScript. Также node-webkit позволяет вызывать модули Node.js прямо из DOM и тем обеспечивает новый способ создания таких приложений и употребления веботехнологий в них.

node-webkit создан и разрабатывается в Интеловском Центре технологий с открытым исходным кодом (Intel Open Source Technology Center).

Введение в node-webkit (слайды).

Достоинства


  • Приложения создаются при помощи современных HTML5, CSS3, JS и WebGL.
     
  • Полная поддержка API Node.js и созданных другими разработчиками модулей.
     
  • Вызов API Node.js без потерь в производительности.
     
  • Лёгкость упаковки и распространения приложений.

Читать дальше →
Всего голосов 55: ↑50 и ↓5 +45
Просмотры 47K
Комментарии 30

JavaScript — это Бейсик сего дня! (В хорошем смысле.)

JavaScript *TypeScript *
С каждым днём во мне крепнет осознание того, что JavaScript стремится играть ту же роль (занять ту же нишу), которая была свойственна Бейсику лет тридцать или даже пятнадцать тому назад.

Иными словами, JavaScript становится простым и распространённым языком, далеко переросшим своё первоначальное предназначение, и на нём теперь можно сочинить почти какое угодно приложение (и клиентское, и серверное, и консольное… и даже с GUI, как я недавно убедился).

Создаются целые операционные системы (Firefox OS, Google Chrome OS, Open webOS), для которых JavaScript является не менее «родным», чем Си для UNIX в своё время.

Появляются языки, транслируемые в JavaScript (можно вспомнить CoffeeScript, Dart, новорождённый TypeScript, и так далее).

Заметив это, уместно тотчас же порадоваться тому, что к джаваскрипту предъявляют, по крайней мере, меньше серьёзных претензий, чем некогда к Бейсику, который по справедливости невзлюбили за его GOTO и поощрение «макаронного кода». Притом джаваскрипт гораздо лучше переносится и с платформы на платформу, и из браузера во браузер.

Кроме того, многие существующие проблемы джаваскрипта не имеют особенного значения, потому что устраняются широко распространёнными средствами с открытым исходным кодом. Так, нестрогость синтаксиса устраняется строгою проверкою исходного кода (JSLint, например). Нехватка средств обработки данных (массивов, объектов) и функций устраняется подключением Underscore, а строки помогает обработать Underscore.string, а даты — moment.js, например. Сложность употребления методов DOM (в которой, впрочем, повинен не язык JavaScript, а браузеры и их разнобой) преодолевается с помощью jQuery. И так далее. Это входит в привычку у программистов.

Читать дальше →
Всего голосов 82: ↑57 и ↓25 +32
Просмотры 18K
Комментарии 46

Новшества node-webkit версии 0.3.0

Node.JS *
Zhao Cheng вчера объявил о выходе новой версии движка node-webkit созданного в недрах Intel Open Source Technology Center мощного сочетания WebKit и Node.js, позволяющего создавать кросс-платформенные графические приложения на языках HTML, CSS и JavaScript.

Новая версия будет иметь номер 0.3.0 и выглядеть вот как:

[скриншот]

(На скриншоте изображена демка от AppJS, которую я портировал на движок node-webkit. Запущена она в Windows XP.)

Как видно, новая версия node-webkit теперь куда более походит на Google Chrome по оформлению окна.

И вот список других новшеств этой версии:

Читать дальше →
Всего голосов 23: ↑20 и ↓3 +17
Просмотры 10K
Комментарии 18

Язык программирования Monkey

Разработка игр *


Всем привет!

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

Monkey ни в коем случае не является «убийцей» Unity и других подобных инструментов. Но он может заинтересовать начинающих, а также независимых разработчиков игр, чей бюджет в значительной степени ограничен. Если мне удалось вас заинтересовать, добро пожаловать под кат.
Читать дальше →
Всего голосов 58: ↑54 и ↓4 +50
Просмотры 33K
Комментарии 34

Новшества node-webkit версии 0.3.6

Node.JS *TypeScript *
Roger Wang 14 декабря объявил о выходе новой версии движка node-webkit созданного в недрах Intel Open Source Technology Center мощного сочетания WebKit и Node.js, позволяющего создавать кросс-платформенные графические приложения методом веборазработки на языках HTML, CSS и JavaScript.

Новая версия имеет номер 0.3.6 и выглядит вот как:

[скриншот]

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

Прежде всего нетрудно заметить, что окна утратили «округлый» и «синенький» вид, похожий на Google Chrome, а вместо того вновь обрели общесистемный вид и форму. (На иллюстрации я привожу вид окна в Windows XP.) Также вернулся значок в заголовке окна. (Для сегодняшней демонстрации я поместил туда значок сайта Хабрахабра.)

Вот список остальных новшеств этой версии (по сравнению с 0.3.0):

Читать дальше →
Всего голосов 49: ↑42 и ↓7 +35
Просмотры 15K
Комментарии 24

Новшества node-webkit версии 0.4.1

Node.JS *
Три дня назад (1 февраля) Roger Wang объявил о выходе новой версии движка node-webkit созданного в недрах Intel Open Source Technology Center мощного сочетания WebKit и Node.js, позволяющего создавать кросс-платформенные графические приложения методом веборазработки на языках HTML, CSS и JavaScript.

Новая версия имеет номер 0.4.1; на её основе нетрудно составить и запустить, например, вот такое окно:

[скриншот]

Почти семь недель прошло с того дня (18 декабря), когда я обозревал одну из предыдущих версий (0.3.6) этого движка. Вам нетрудно заметить, что за это время успела перемениться не только последняя, но и предпоследняя цифра версии. Сейчас я расскажу, какие изменения, в node-webkit произошедшие, отражает эта перемена.

Читать дальше →
Всего голосов 33: ↑26 и ↓7 +19
Просмотры 11K
Комментарии 35

AppClub { build, monetize } #5 снова соберет мобильных экспертов и стартаперов

Блог компании DevRain Solutions Разработка под iOS *Разработка под Windows Phone *Xamarin *


Последняя встреча клуба мобильных энтузиастов и стартаперов AppClub { build, monetize } стала рекордной, собрав около 40 человек — разработчиков, предпринимателей, стартаперов, были замечены даже медиапродюссеры и журналисты :-) Рад сообщить о пятой встрече AppClub, которая пройдет 4 апреля в Киеве и соберет под одной крышей отличных экспертов и стартаперов.

Что ждет участников в этом раз? Добро пожаловать под кат.
Читать дальше →
Всего голосов 12: ↑5 и ↓7 -2
Просмотры 1.6K
Комментарии 0

Пять правил успешного кросс-платформенного проекта

Совершенный код *Проектирование и рефакторинг *
Перевод
От переводчика: я сейчас по крупицам собираю литературу по проектированию кросс-платформенного ПО. Этот небольшой текст — самое интересное, что я пока нашёл.

Кодеру для реализации конкретной фичи достаточно гугла, но ведь есть особые требования к проектированию? Скажем, ветвление
#ifdef в методах — единственное средство выделения platform-specific частей проекта? (Не много ли макарон?) Есть ли более высокоуровневые подходы, шаблоны, «надстройки» над #ifdef? Надеюсь, этот пост послужит пищей для дальнейшего обсуждения.
Итак, 5 правил
Всего голосов 15: ↑6 и ↓9 -3
Просмотры 2.7K
Комментарии 4