Java скоро уйдет на задний план?

07.02.2007 05:37 Гость Клуб: Статьи

Мобильный телефон уже давно перестал быть просто телефоном. Сегодня уже сложно сказать что это: телефон со встроенным компьютером или компьютер с функцией телефона. Как для любого компьютера, для мобильника существует немало программ, и напрашивается предположение, что эти программы кто-то пишет. Мы решили взять интервью у одного из создателей программ под мобильные платформы.

Шимигон Алексей Сергеевич

Шимигон Алексей Сергеевич. Родился и живет в городе Невинномысске Ставропольского края. Учится  в институте СевКавГТУ. Создатель программы 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. Дальше пока не загадываю.

Автор: Гоша Компьютерный

Комментарии
Написать комментарий