Создание программ для Symbian S60: C++, Python, Basic, Java и другое

Программная платформа Symbian Series 60 (или S60) — самая популярная в мире смартфонов и коммуникаторов, если судить по продажам мобильных устройств. Поэтому приложения именно для этой платформы актуальны как никогда. Создание программ — процесс увлекательный, и данная статья поможет всем желающим попробовать свои силы в этом деле.

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

КОМПИЛЯТОРЫ И ИНТЕРПРЕТАТОРЫ

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

В первом случае для «перевода» текста программы на язык, понятный какой-либо платформе (в нашем случае S60), необходим компилятор специальное приложение, которое, как правило, входит в состав средств разработчика. Итак, пропускаем написанный код через компилятор и на выходе получаем самостоятельное приложение для совместимой платформы. Достаточно скопировать его на соответствующий аппарат и элементарно запустить. Поясним. В случае с Windows XP компилятор выдает EXE-файл. Все, что требуется от пользователя для запуска, — это двойной клик. Компилируемые языки программирования в освоении сложны, зато творческих возможностей предоставляют больше. C++, например, — стандарт де-факто при разработке ПО, в том числе и для многих мобильных платформ.

Плюсы

+ максимальная скорость и минимально потребляемые ресурсы

+ для работы программы требуются только ее собственные файлы

+ удобное средство для создания коммерческих продуктов

Минусы

— сложные для освоения языки

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

Интерпретатор занимается тем, что объясняет данному устройству, как следует выполнять код программы. Пожалуй, самый известный пример интерпретатора — виртуальная машина Java, которая, кстати, по умолчанию наличествует не только в смартфонах, но и практически в любых современных телефонах. Интерпретатор Java — универсален. Одна и та же Java-программа, как правило, выполняется и на Windows Mobile коммуникаторе, и на каком-нибудь музыкальном телефоне Sony Ericsson.

Минусы интерпретаторов — в относительно медленной скорости работы, а кроме того, они обладают изрядным аппетитом в плане потребления ресурсов. Зато такие языки просты для изучения. Помимо Java, к интерпретаторам можно отнести, например, «настольный» Basic, который преподается почти во всех школах.

Плюсы

+ легкость освоения

+ в ряде случаев — возможность написания и отладка программ на самом устройстве

Минусы

— зависимость программы от интерпретатора

— медленная работа и большое потребление оперативной памяти

— трудность создания коммерческих продуктов

ПИТОН СЪЕЛ МЫШЬ

Как было сказано, интерпретаторы отлично подойдут для новичков и тех, кто хочет понять общие принципы написания программ Symbian Series 60. Здесь выбор будет лежать между двумя средами программирования: Python и mShell («Питон» и «Мышь» на жаргоне программистов).

Python — разновидность одноименного компьютерного языка программирования; официально поддерживается компаниями Symbian и Nokia. Установочные файлы можно найти на страничке . Существуют различные версии для смартфонов с Symbian OS 6.1, 7.0s, 8.0, 8.1 и 9.1. Состоит Python из двух частей — PythonForS60 и PythonScriptShell. Первый файл отвечает за функции языка, а после установки второго в Меню смартфона появляется значок для запуска консоли Python.

После этого можно работать с файлами, имеющими расширение .py (содержат текст программы на языке Python), и писать программы прямо на смартфоне. Невидимая в Меню PythonInstaller поможет установить новые PY-файлы и библиотеки, а также создать на их основе программу со своим значком в Меню.

Плюсы

+ возможность использования сторонних библиотек

+ создание самостоятельных приложений на основе Python-программ

+ широкое распространение и наличие сообщества программистов

Минусы

— мало похож на популярные языки (Basic, Pascal, C)

— отсутствие собственного редактора для набора текста программы

mShell создан фирмой infowing AG (). Поддерживаются смартфоны с Series 60 2nd Edition (Symbian OS v7.0s, v8.0, v8.1) и Series 60 3rd Edition (Symbian OS v9.1). После установки необходимо осуществить бесплатную процедуру регистрации через SMS. Оболочка mShell дает возможность запускать несколько M-файлов (текст программы на языке mShell) одновременно и редактировать их, а также предоставляет справку по любой функции.

Плюсы

+ Pascal-подобный язык

+ высокая скорость работы, особенно с двухмерной графикой

+ имеется собственная среда разработчика с удобной помощью

Минусы

— плохая распространенность

— запуск программ только из среды mShell

Итог: Python выглядит более привлекательным — он позволяет создавать приложения со своим значком в Меню, которые к тому же удастся упаковать в SIS-файлы. Однако mShell списывать со счетов не стоит — скорость работы и потребление ресурсов выгодно отличают его от других языков, к тому же разработчики обещали в будущем дополнить его компилятором (!).

ВЕЗДЕСУЩАЯ JAVA

На данный момент почти все выпускаемые сотовые телефоны имеют предустановленную возможность для запуска Java-программ (мидлетов). Большая распространенность этой технологии привлекает внимание разработчиков коммерческих продуктов (особенно игр), но и обычный пользователь может сделать что-нибудь свое. Для этого на компьютере необходимо установить следующие программы со страницы java.sun.com/javame/:

1) Java 2 Standard Edition SDK — компиляторы и утилиты для создания Java-мидлетов;

2) J2ME Wireless Toolkit — эмуляторы и средства для отладки Java-мидлетов;

3) NetBeans IDE (для работы с J2ME необходим еще и NetBeans Mobility Pack) — среда разработчика.

Продуктом процесса разработки станут JAD- и JAR-файлы. Выбор технологии Java будет оптимальным, если хотите, чтобы ваш продукт охватил большое количество телефонов.

Реализация Java на смартфонах с версией Symbian 6-8 оставляет желать лучшего: долгая загрузка, медленная скорость работы, большое потребление оперативной памяти. Однако Symbian 9.2 преподнесла сюрпризы: загрузка мидлетов моментальная, да и с оперативной памятью дело обстоит не так плачевно. Таким образом, все последующие модели смартфонов от Nokia начнут адекватно работать с технологией Java. А уверенность в безоблачном будущем — то, что нужно любому разработчику!

Плюсы

+ большая популярность и легкость создания программ

+ поддержка практически в любом сотовом телефоне

+ богатая документация и наличие ресурсов данной тематики

Минусы

— не самая высокая скорость работы

— нет доступа ко всем телефонным возможностям

ШИЛО НА МЫЛО

Язык Java показался сложным? Тогда стоит использовать программы-посредники: «скармливайте» им программу, написанную на родственниках таких популярных языков, как Pascal и Basic, и на выходе получайте готовый Java-мидлет.

MidletPascal можно скачать с сайта разработчиков(временно не работает), за пользование программой денег не просят. Поставляется MidletPascal с собственной, дружественной к пользователю средой разработки (IDE). Среда имеет встроенный компилятор, инспектор кода Java и обеспечивает построение архива JAR, что избавляет от установки Java SDK. В итоге компиляция и компоновка мидлетов проста, как нажатие на кнопку. Порадует вас встроенная справка по доступным функциям: работа с графикой, SMS, звуками, файлами и т. д.

OmegaBasic — специализированная среда разработки для создания программ и игр. Включает удобный редактор, поддерживает работу с проектами. Можно просматривать несколько файлов, ставить закладки, распечатывать справку по функциям. OmegaBasic позволяет работать с графикой, картами, звуком, музыкой, анимацией, видео и сетью. В качестве основного языка программирования используется Basic. Можно программировать и на Java, используя расширенный набор API OmegaBasic. Сайт разработчика — omegabasic.thegamecreators.com, оттуда можно скачать триальную версию, в которой программы ограничиваются 250 строками кода. Для функционирования OmegaBasic необходимо установить на ПК Java 1.4 SDK и Java Mobile 1.2 SDK.

MobileBasic — такая же специализированная среда. Ее особенность — наличие сервисов по так называемой немедленной OVER-THE-AIR («по воздуху») установке написанных мидлетов на телефоны. Написав программу, программист в MobileBasic может сохранить ее в виде JAD- и JAR-файлов. Эти файлы с помощью MidletUploader выгружаются на сервер MobileBasic. Сервер создает WAP/WML-страницы, подключившись к которым с помощью WAP-браузера телефона можно установить мидлет. Кроме этого сервиса, в MobileBasic имеется графический редактор, редактор карт и плиточных изображений, а также редактор мелодий для телефонов Nokia.

Скачать демо-версию MobileBasic можно со страницы . Стоимость продукта — 24,99 фунтов стерлингов, ограничение триальной версии — максимум 1 Кб исходного кода. На сайте не стоит пренебрегать регистрацией, иначе запустить MobileBasic получится не более 30 раз. Как и в прошлом случае, необходимы установленные на компьютер Java SDK.

Итог: OmegaBasic и MobileBasic — почти близнецы в плане подхода к написанию кода, к тому же обладают схожим функционалом. Недостатки: необходимость приобретать платную версию и устанавливать Java SDK. На этом фоне ярко выделяется MidletPascal — самый популярный, простой в установке, и главное — бесплатный!

ТЯЖЕЛАЯ АРТИЛЛЕРИЯ

C++ for Symbian — наилучший (и, по сути, единственный) язык для создания профессиональных и коммерческих приложений для смартфонов Symbian Series 60. Именно на нем пишется сама система и предустановленное программное обеспечение. Если вы полны решимости программировать на C++ for Symbian, то необходимо установить:

1) среду разработки — CodeWarrior (), Carbide.с++ () или другое;

2) SDK для Symbian соответствующей Edition и Feature Pack под нужную среду разработки (S60-SDK-0616-3.0-mr.html);

3) Java 2 Standard Edition;

4) Perl версии не ниже 5.003.07.

При создании программ на C++ for Symbian можно получить доступ ко всем возможностям смартфона, что не идет ни в какое сравнение с Java и прочими интерпретируемыми языками. Полученные продукты будут потреблять минимум ресурсов и работать с максимальной скоростью, так как между программой и системой не будет посредников-интерпретаторов.

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

* * *

Экскурс подошел к концу, а значит пора решаться на выбор средства программирования. Если хотите получить профессиональный продукт — необходимо использовать C++ for Symbian, популярная Java не так быстра и не поддерживает всех возможностей платформы S60, зато может запускаться и на обычных телефонах, причем не только от Nokia.

Python — отличный выбор для тех, кто собирается писать несложные, но полезные программы; возможность отлаживать программы прямо на смартфоне уникальна. Мы подготовили серию статей, обучающих программированию на мобильном Python, и приложили ряд примеров и любопытных программ, написанных специально для Mobi. В наших закромах также найдется материал по работе с MidletPascal.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ Самая популярная платформа

Платформу Series 60 создала компания Nokia. Финны решили поделиться удачной разработкой — они не только сами выпускают огромное количество S60-смартфонов, но и предоставляют лицензии другим производителям. S60-аппараты есть в активе Samsung, Panasonic, LG и других. Samsung, к примеру, недавно представила свой первый S60-смартфон с GPS — Samsung i550.

Темная лошадка

Невозможно не упомянуть о языке Ruby (русская страничка preview.ruby-lang.org/ru/). Он обладает двумя серьезными минусами, которые сдерживают его распространение на S60: отсутствие графического интерфейса и доступа к «телефонным» функциям смартфона. Программы на этом языке не могут работать с графикой, SMS, камерой и т. д. Выигрывает Ruby за счет быстрых математических вычислений и работы с интернетом. Будем ждать дальнейшего развития проекта!

Вооружение программиста

Программирование для любой платформы невозможно без SDK — Software Development Kit (набор разработчика), обычно его можно получить бесплатно из интернета. Практически всегда только SDK содержит компилятор, эмулятор и другие приложения.

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

Для удобной работы существует IDE (Integrated Development Environment) — среда разработчика, посредник между SDK и пользователем. IDE содержит текстовый редактор, функции для создания и управления проектом, а также средства, автоматизирующие работу. IDE укажет компилятору из SDK обработать программу, создаст необходимые файлы и выведет ошибки, если таковые имеются. За такие блага часто приходится платить наличными — в основном IDE разрабатываются сторонними фирмами.

Кстати, некоторые IDE, например MidletPascal, обладают встроенным компилятором, что позволяет обойтись без установки SDK. Мобильные же интерпретаторы сами по себе реализованы как среда разработчиков, и компиляторов не предполагают.

Язык в языке

Существуют Java-мидлеты, которые позволяют прямо на смартфоне писать и запускать программы. MobileBasic, например, можно скачать со страницы . Стоимость — 9,99 евро, триальный период — 30 дней. Вся работа ведется в командной строке, где нужно набрать текст на языке Basic и нажать джойстик. В случае успешного выполнения будет напечатано READY, в противном случае появится подробное сообщение об ошибке.

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

Более привлекателен DROS — эмулятор старого доброго DOS. Мидлет позволяет запускать BAS-файлы — программы на языке Basic. Язык не так богат функциями, упор сделан на создание игр. Большой плюс — удобный редактор текста программы, а главное — он абсолютно бесплатен! Скачать ZIP-архив можно с сайта , где кроме самого мидлета будут примеры и инструкция с описанием программы и языка Basic.

Сертификация в Symbian 9

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

О том, как сертифицировать приложение для Symbian S60 читайте в инструкции

СРАВНИТЕЛЬНАЯ ТАБЛИЦА ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ДЛЯ S60 СОВМЕСТИМОСТЬ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ДЛЯ S60 УРОКИ ПО ПРОГРАММИРОВАНИЮ НА ЯЗЫКЕ PYTHON

Если вы всерьез заинтересовались программированием для смартфонов и хотите попробовать свои силы в написании приложений для S60 – добро пожаловать на сайт mobi.ru.  Там вы найдете подборку уроков по созданию программ на языке Python! 

Точная ссылка на рубрикатор с уроками мобильного программирования: RubricatorS.php?r_id=97.






Рекомендуемый контент




Copyright © 2010-2019 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.