Marmaladе SDK — самый универсальный кроссплатформенный SDK для смартфонов и планшетов.

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, его особенности, прочитайте некоторые учебники, также советуем украдкой заглянуть на форумы (опытные разработчики не кусаются :) )

В ближайшие дни на нашем блоге появятся новые статьи, освещающие различные аспекты Marmalade SDK, связанные с инструментами и дополнительными возможностями. Внимательно следите за обновлениями!

Поделиться в соц. сетях

вернуться на главную блога