Marmaladе SDK — самый универсальный кроссплатформенный SDK для смартфонов и планшетов.
Автор: progman
Marmalade SDK удивительно простой в использовании кроссплатформенный SDK для смартфонов, планшетов и новых технологий, таких как smart TV. Эта статья — первая часть руководства по Marmalade. Далее мы рассмотрим различные темы, начиная от создания 2D и 3D игр, заканчивая решениями интеграции рекламы и доступом к таким возможностям аппаратов, как акселерометр, компас, камера и многим другим.
| Marmalade SDK удивительно простой в использовании кроссплатформенный SDK для смартфонов, планшетов и новых технологий, таких как smart TV. Эта статья — первая часть руководства по Marmalade. Далее мы рассмотрим различные темы, начиная от создания 2D и 3D игр, заканчивая решениями интеграции рекламы и доступом к таким возможностям аппаратов, как акселерометр, компас, камера и многим другим.
Итак, вы разработчик ПО для смартфонов или планшетов (или по крайней мере стремитесь к этому), и ваша цель – реализовать поддержку своей новой хитовой игры в огромном ассортименте устройств? Значит, вы попали по адресу. Мы расскажем, что нужно сделать, чтобы воплотить свои идеи в реальность. Независимо от того, являетесь ли вы профессиональным разработчиком игр, или кодером, увлечённым своим хобби, или техническим директором большой корпорации, которая занимается исследованиями в области поддержки реализации приложений на различных смартфонах и планшетах, — основные принципы остаются теми же. |
Выбрав мультиплатформенность для разработки вашего продукта:
- Вы получаете прибыль от более широкой аудитории ваших приложений и игр;
- Вы сэкономите много денег и времени на разработку, тестирование и обновление;
- Вы можете использовать один и тот же базовый код С/С++ на всех устройствах и платформах;
- Вам не нужно изучать несколько языков, технологий, UI и SDK или нанимать профессионалов;
- Вы получаете регулярно обновляемый SDK для различных платформ, с учетом новых возможностей.
Выбрав Marmalade SDK вы также получите:
- Уникальную поддержку и возможность получить в кредит программы и устройства для тестирования;
- Симулятор, который с помощью неограниченного набора разрешений экрана позволит вам тестировать продукт и имитировать доступ к акселерометру, GPS, камере, аудио, мульти-сенсорному экрану, SMS, компасу и многому другому (но следует учитывать, что у каждой системы существует индивидуальный список возможностей, к которым можно получить доступ);
- Проверку кода для ARM-платформы даже без запуска на ARM-устройстве;
- Поддержку специфических возможностей iOS (App Store Billing, iAd, Game Center и т.д.);
- Поддержку специфических возможностей Android (Android Market Billing);
- Доступ к большому набору открытых API, например Box2D, AdMob, Flurry, Chipmunk, SVG, Python, LUA и множеству других интересных вещей (полный список доступен на http://github.com/marmalade).
Кроме того, Marmalade сотрудничает с крупными компаниями: Shiva3D, Scoreloop, Tapjoy, Raknet и многими другими, поэтому вы можете быть уверены, что этот SDK займет ведущую позицию на рынке всерьез и надолго.
Итак, какие же платформы поддерживает Marmalade?
На сегодняшний день список выглядит следующим образом:
- iPhone, iPod Touch and iPad;
- Android;
- Samsung Bada;
- Blackberry Playbook;
- Symbian;
- webOS;
- Windows;
- OSX;
- Mobile Linux.
Наверное, у вас возник вопрос — получится ли на самом деле написать код один раз и запустить его на всех этих платформах? Наш ответ: “Безусловно!” Это было доказано многими компаниями. Например, компания Pocketeers выпустила BattleBallz Chaos (аркадная игра) под iOS, Android, Bada и Blackberry Playbook используя Marmalade SDK, а также Funky Cam 3D (приложение для фотографий) под iOS, Android и Bada.
Ну что, вы уже прониклись осознанием всех преимуществ Marmalade и планируете сэкономить вагон времени и денег на разработку кроссплатформенных игр и приложений? Давайте рассмотрим пример кода с использованием этого SDK.
Ниже представлен основной цикл игры:
#include “IwGx.h” int main() { // Инициализация графической системы Marmalade IwGxInit( ); // Главный цикл игры while ( !s3eDeviceCheckQuitRequest( )) { // Очистить экран и Z-буфера IwGxClear( IW_GX_COLOUR_BUFFER_F | IW_GX_DEPTH_BUFFER_F); // Обновление моей потрясающей игры PleaseUpdateMyGame( ); // Рендеринг моей потрясающей игры RenderMyGameViewThankyou( ); // Записать графическую систему IwGxFlush( ); // Отображение отрендеренных кадров IwGxSwapBuffers( ); // Доступ к операционной системе s3eDeviceYield( 0); } // Выход из графической системы Marmalade IwGxTerminate( ); return 0; }
Вы можете убедиться, что графическая система в Marmalade похожа на аналогичную в Open GL, что делает её, как нам кажется, очень удобной. Все остальные подсистемы одинаково просты в использовании.
Например, чтобы создать текстуру из растрового файла и загрузить его на GPU:
CIwTexture* texture = new CIwTexture(); texture->LoadFromFile( “AwesomeSpriteAtlas.png”) texture->Upload( );
Как вы видите код очень легкий, максимально простой и понятный, но главное его преимущество — кроссплатформенная совместимость. Представьте себе, сколько времени займет подобный процесс, если писать код на XCode / Objective C для IOS, а затем еще раз, используя Java на Android, а затем снова — на Flash для Playbook… Этот список можно продолжать бесконечно.
Поэтому, если вы не увлекаетесь мазохизмом и долгими часами дополнительной работы, не получаете удовольствия от проверки ошибок в нескольких SDK, на различных языках и платформах, мы предлагаем вам совершить небольшое путешествие на страницу Marmalade по адресу http://www.madewithmarmalade.com. Посмотрите на SDK, его особенности, прочитайте некоторые учебники, также советуем украдкой заглянуть на форумы (опытные разработчики не кусаются )
Источник blog.ilogos-ua.com.
9 июня 2012