Мобильный телефон уже давно перестал быть просто телефоном. Сегодня уже сложно сказать что это: телефон со встроенным компьютером или компьютер с функцией телефона. Как для любого компьютера, для мобильника существует немало программ, и напрашивается предположение, что эти программы кто-то пишет. Мы решили взять интервью у одного из создателей программ под мобильные платформы.
Шимигон Алексей Сергеевич. Родился и живет в
городе Невинномысске Ставропольского края. Учится в институте
СевКавГТУ. Создатель программы X-Player – мультимедийного
проигрывателя для Siemens с экраном 132х176.
- Начнем с самого начала. Что тебя заставило вступить на
тернистый путь программиста и тем более писать программы для
Siemens?
- Программировать я начал уже очень давно. Тогда это был
ZX-Spectrum (где ещё программы загружались с обычных магнитофонных
кассет) с платформой «Бейсик версия 2.0» где-то 1994-1995 года.
Конечно, там всё было просто. Помню, что моя первая «игра»
заключалась в том, чтобы за ограниченное время найти нужную кнопку
для запуска ракеты по космическому кораблю противника, при этом не
попасть на кнопку «самоуничтожение».
Когда перешел на ПК (2000 – 2001 год), сразу начал разбираться с
«родным» Бейсиком, пробовал его визуальную версию. Далее в школе
рассказали про Паскаль – перешел на Delphi, начал самостоятельно
изучать литературу. Мне просто понравилось программировать – больше
никак не могу объяснить своё упорство.
Совсем недавно (летом 2006-го) узнал про Free Pascal и Lazarus
(из интернета) – перешел на него. Как-то лазил по форуму
www.freepascal.ru и наткнулся там на тему «Паскаль для мобилок» -
решил попробовать. Первым (не считая Hello World) моим проектом
стал X-Player (ибо стандартный плеер меня совсем не устраивал),
сейчас его и развиваю. В процессе разработки познакомился с Java,
сейчас активно использую его для написания своих библиотек для
MIDlet Pascal.
MIDlet pascal имеет в своём составе довольно ограниченный набор
функций, но разработчиками была создана поддержка пользовательских
библиотек, написанных непосредственно на Java. Такие возможности
нужны, например, если пользоваться файловой системой телефона,
которые весьма специфичны у различных производителей и поэтому не
включены в стандартный набор функций.
Сами библиотеки являются Ява-классами (*.class), а не
мидлетами.
Вобще мидлет – это программа на Java 2 micro edition, имеющая
расширение *.jar (по сути zip-архив с классами и другими
ресурсами).
- Расскажи немного про свои программные продукты.
- У меня было где-то с десяток небольших проектов различного
направления. Писал в основном для себя, когда появлялись какие-либо
идеи полезных утилиток. Среди них интерфейс для UPX (упаковщик
программ) – пользуюсь постоянно, конвертор bmp в ico – создаёт
иконки. Найти их можно на моём сайте (shimigon.narod.ru/soft.html).
Более крупными проектами у меня были Central Defenser – аркадная
игра по мотивам Dune с платформы Sega Genesis и Dark Town Engine –
движок для RPG 3D игр, находящийся сейчас в начальной стадии
разработки. Тут уж я вообще залез на DirectX.
Некоторые мои утилиты были навсегда утрачены: когда у меня ещё
не было сайта, случилось горе – «полетел» винт. Наиболее значимой
там была программа для создания установщиков и движок для
классических квестовых игр (2D)
- Какими инструментами ты пользуешься в своей работе?
- Программирую на FreePascal через FPShell (IDE от одного нашего
соотечественника, использую его также для написания программ на
Java), Lazarus и MIDlet Pascal имеют свои встроенные редакторы. На
Java пользуюсь J2SE_SDK + J2ME_WTK последних версий где-то на осень
2006.
Также пользуюсь GIMP (аналог Photoshop, только бесплатный),
Imagine (аналог ACD See, версия 0.9 – плагин к Total Commander) –
это всё, связанное с графикой. Веб странички с сайта пишу по
старинки – в Блокноте.
- Чем на твой взгляд вызвана популярность языка Java?
Например, корпорацией Microsoft активно продвигаются различные
вариации Бейсика, существует поддержка в Internet Explorer, однако,
Java уже завоевывает мобильные платформы, видимо дело не только в
простоте языка?
- Точно утверждать не могу, но, по-моему, Microsoft сильно
увлеклась новыми технологиями, что совсем забыла про компактные
устройства и спохватилась лишь к появлению смартфонов. Хотя
учитывая заторможенность Java-интерпретаторов, можно предположить,
что скоро эта платформа уйдёт на задний план, уступив место
полноценным программам (проверено на Siemens CX75: ZX-эмулятор на
Java работает в десятки раз медленнее, чем такой же, но написанный
в виде эльфа.
- Давай, объясним поподробнее читателю: кто же такие
эльфы?
- Эльфы (ELF – Executable and Linking Format) – это полноценные
компьютерные программы (типа *.exe), пишущиеся в данном случае для
телефонов Сименс (про их использование на телефонах других
производителей не слышал, исключение – смартфоны, но там
архитектура немного другая). За счёт того, что они обрабатываются
непосредственно процессором телефона (а не Java-интерпретатором),
достигается максимальное быстродействие, многозадачность,
выполнение фоновых процессов. Изначально телефон (Siemens) не
поддерживает эльфы, сначала нужно установить несколько патчей в
прошивку.
- Насколько перспективно низкоуровневое программирование под
мобильные платформы?
- Можно предположить, что основным недостатком низкоуровневого
программирования является специфичность каждой модели телефона
(смартфона/КПК) Поэтому, наверное, Java и стала столь популярна
(из-за своей универсальности). Но думаю, что в скором времени
производители аппаратов наконец придут к общему знаменателю в
вопросе архитектуры и тогда всё будет лучше чем сейчас.
- Не кажется ли тебе, что в будущем программист уподобится
простому пользователю? Наличие, каких то фундаментальных знаний
перестанет играть существенную роль? Уже сегодня в огромном
количестве предлагаются так называемые визуальные системы
разработки, где весь интерфейс строится в несколько щелчков
мышью.
- Нет. Интерфейс программы – это её «лицо», а всё остальное
создаётся посредством кода, причём, знание языка не достаточно, тут
нужно ещё и некое воображение и логика.
- Интернет – это единственный источник информации для
начинающего программировать для Siemens, да и вообще под мобильные
платформы? Существует ли какая нибудь литература в данной
области?
- Для меня – да. Но литература, безусловно, существует, только
она довольно дорогая, и в нашей глубинке ее, наверное, можно
достать только через интернет.
- На сегодняшний день создано немало видео и аудио форматов,
какие из них перспективны и в будущем, по твоему, получат наиболее
широкое распространение в мобильниках?
- Ну, mp3 навряд ли в ближайшее время уйдёт, AAC и WMA наверное
будут существовать с ним за компанию. OGG, который, по-моему,
используется на смартфонах, скоро получит аппаратную поддержку.
Другие форматы, например VQF, скорее всего, забудутся.
- Поговорим про Ogg Vorbis. Почему, на твой взгляд,
производители телефонов игнорируют аппаратную поддержку этого
формата?
- Дело тут, на мой взгляд, в его сравнительно малой известности.
Какие форматы сегодня поддерживаются телефонами? MP3 – с ним всё
ясно, WMA – практически навязывается самой Microsoft, хотя по всем
основным параметрам отстаёт от mp3 (исключение – малые битрейты, но
они мало кому сейчас нужны), AAC – я познакомился с ним недавно, но
ведь это разработка тех же людей, которые создали mpeg (если не
ошибаюсь), причём, он похож на mp3 и получил свою известность во
многом благодаря этому. OGG, хоть он и лучше всех этих форматов
вместе взятых, не был достаточно разрекламирован в широких кругах.
Тут получается нечто вроде замкнутого круга: большинство музыки
кодируется в mp3 из-за того, что его поддерживают даже самые
простые плееры (хотя, что им ещё поддерживать, если не mp3), а
производители добавляют в свои продукты среднего и низкого класса
поддержку самых известных форматов (в которые наиболее часто
кодируют музыку)… В более дорогих продуктах поддержка Vorbis уже,
слава Богу, появилась.
Хотя почему это не коснулось телефонов? Дело тут, наверное, в
том, что для реализации поддержки Ogg необходимо устанавливать
дополнительный декодер, а это свободное место и деньги (в
современной гонке производителей – основные качества). Мало кто из
пользователей, при покупке дорогого аппарата обратит внимание на
поддержку Ogg (не знаю правда, есть ли таковые сейчас) и согласится
переплатить N рублей только из-за этого. Конечно, я бы переплатил,
но знающих людей меньшинство.
Сейчас хотя бы производители игровых программ начали широко
применять этот формат, ведь на больших ПК его можно воспроизвести
достаточно легко. Да и поговаривают, что он использует меньше
системных ресурсов (правда я это не проверял лично)
В общем, есть два выхода: реклама или программное декодирование.
Второй, конечно, реализовать намного проще.
- Потеряют ли в будущем свою актуальность форматы, основанные
на компрессии материала?
- Ты имеешь ввиду, что в будущем, возможно, останется один WAV
из-за растущих мощностей и объёмов памяти?
- Да.
- Скоро темпы их роста приостановятся – есть же какие-то
пределы. Да и не потеряли же свою актуальность архиваторы.
- Как ты относишься к идее открытого кода и вообще к
бесплатным программам? Собираешься ли ты в будущем заняться
коммерческим распространением своих продуктов?
- Я думаю, что это дело программиста – навязывать плату за
использование его продуктов или нет. Конечно, если сравнить время и
усилия, затрачиваемые на написание даже не очень сложной программы
с услугами, к примеру, специалистов по установке газовых котлов, то
окажется, что большинство программистов весьма благородные
люди.
Навязывание платы за использование моих программ считаю
излишним, думаю, что лучше предоставлять VIP-пользователям
дополнительные средства, повышающие возможности программы, ну или
лишающие их каких-либо неудобств. Правда мне ещё пока рановато
говорить об этом, в будущем возможно и буду «подзарабатывать»
этим.
Исключение, конечно, составляют программы, пишущиеся на
заказ…
- Мобильные устройства с каждым днем все стремительнее
догоняют по своим характеристикам настольные компьютеры. Не
приведет ли это к полному исчезновению последних?
- Давай-ка пока подождём и проверим, исчезнут ли проводные
телефоны, а там и с компьютерами будет всё ясно. Хотя есть одна
загвоздка: upgrade. С этим делом у портативных устройств всегда
были проблемы, поэтому в исчезновении ПК я сомневаюсь (во всяком
случае в ближайшие 15-20 лет)
- Сегодня практически каждый человек плохо представляет себя
без мобильного телефона. Не кажется ли тебе, что мы впадаем в
некоторую зависимость от современных технологий?
- Этот вопрос задавался каждый раз, когда появлялись какие-либо
принципиально новые устройства, поэтому я думаю, что такая
зависимость появилась уже давно.
Я два года учился в Таганроге, из них первые пол года жил без
компьютера – и вроде бы выжил. Человек имеет такое свойство –
приспосабливаться к окружающей его действительности, а значит в
случае какой-либо (не дай Бог, конечно) глобальной катастрофы мы
выживем, пусть даже заново научившись получать огонь без
спичек.
- И в заключение расскажи о твоих планах на будущее.
Я обычно не строю глобальных планов, но в ближайшее время
планирую разобраться с прокруткой mp3 на Siemens и реализовать это
в X-Player (стандартные средства Явы тут не работают – проверено),
хочу разобраться с 3gp – попробовать получить из файла длительность
и FPS, чтобы сделать их качественную прокрутку всё в том же
X-Player (некачественную я уже сделал). Когда по полной выложусь в
своём плеере, продолжу работу над Dark Town Engine. Дальше пока не
загадываю.
Автор: Гоша Компьютерный
Материал получен с сайта: www.mobime.ru