категории | RSS

Автор : Газетдинов Альберт (по ссылке и оригиналы статей с картинками)
Все статьи Альберта в другом формате можно взять здесь

Программная платформа 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. Установочные файлы можно найти на страничке https://sourceforge.net/project/showfiles.php?group_id=154155. Существуют различные версии для смартфонов с 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 (www.mshell.net). Поддерживаются смартфоны с 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 можно скачать с сайта разработчиковwww.midletpascal.com(временно не работает), за пользование программой денег не просят. Поставляется 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 можно со страницы www.mobilebasic.com/desktopedition.html. Стоимость продукта — 24,99 фунтов стерлингов, ограничение триальной версии — максимум 1 Кб исходного кода. На сайте не стоит пренебрегать регистрацией, иначе запустить MobileBasic получится не более 30 раз. Как и в прошлом случае, необходимы установленные на компьютер Java SDK.

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

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

1) среду разработки — CodeWarrior (www.forum.nokia.com/codewarrior), Carbide.с (www.forum.nokia.com/main/resources/tools_and_sdks/carbide_cpp/) или другое;

2) SDK для Symbian соответствующей Edition и Feature Pack под нужную среду разработки (www.forum.nokia.com/info/sw.nokia.com/id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/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, например, можно скачать со страницы www.mobilebasic.com/phoneedition.html. Стоимость — 9,99 евро, триальный период — 30 дней. Вся работа ведется в командной строке, где нужно набрать текст на языке Basic и нажать джойстик. В случае успешного выполнения будет напечатано READY, в противном случае появится подробное сообщение об ошибке.

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

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

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

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

DimonVideo
2008-01-17T18:16:43Z
Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 10

#10   GENDAL    

Спасибо за статью! В инсте изучаем c так как я на программиста учюсь. А разница есть между смартфонским и простым c ?


0 ответить

#10   ganzh    

на счет ЕХЕ файла..читайте внимательно, автор написал что это в случае для WinXP а не для симбиан как кто то подумал(просто привел всем понятный пример)


0 ответить

#10   X-CODER    

Да ладно вам! Ошибки, ошибки... Пара неточностей и все. Чел же старался ))) а главное, ссылки есть ))) пошел кариба качaть... [йа zombiee] )))


* редактировал(а) X-CODER 17:59 26 апр 2008

0 ответить

#10   transparent    

Еще ошибочка ... Java - это не интерпретатор, а виртуальная машина, и программы для нее тоже компилируются...


* редактировал(а) transparent 16:27 29 янв 2008

0 ответить

#10   refat    

спасибо, очень интересно было почитать!вот жена получит диплом и я пойду учиться на программиста!еще раз спасибо!


0 ответить

#10   Wolverine    

Зачем качать WTK отдельно, если с шестым netBeans и так идет последняя версия


0 ответить

#10   _ALBERT_    

И читают эту статью одни программисты? Вообще то для новичков статья эта и она только для ознакомления.


0 ответить

#10   nikita3011    

Ошибочка вышла! В самом начале статьи утверждается, что \компилятор выдает EXE-файл\. Вообще-то, компилятор выдает объектный файл (расширение файла obj), а EXE-файл выдает линкер (или компоновщик). Это вам любой программист скажет.


0 ответить

#10   angelripper    

Кто бы скинул basic для компа который был на 386, 486 ibm, поностальгировать smile


* редактировал(а) angelripper 07:01 18 янв 2008

0 ответить

Яндекс.Метрика