Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > PalmOS > PalmOS development FAQ


Автор: igor_n 18.02.05, 12:52
В этом топике будут публиковаться ответы на частозадаваемые вопросы по программированию под PalmOS

1. Основные ориентиры

Довольно часто задаются вопросы, вызванные непониманием ролей различных компаний в развитии PalmOS. На первою половину 2005 года дело обстоит так (программирование под несушествующий Cobalt AKA PalmOS 6 не рассматривается):

Разработкой PalmOS занимается компания PalmSource ( http://www.palmsource.com ). Эта компания предоставляет версию PalmOS лицензиатам, которые реализуют на ее базе свои устройства. Для разработчиков PalmSource выпускает SDK, который позволяет разрабатывать ПО для PalmOS.

Лицензиаты - это компании, производящие устройства на базе PalmOS. Крупнейшим из лицензиатов является PalmOne ( www.palmone.com ). Лицензиат реализует PalmOS для конкретного устройства. Практически каждая машинка обладает уникальными особенностями. Программирование этих особенностей возможно с помощью SDK от конкретной машинки. Это SDK обычно находится в отделе для разработчиков на сайте лицензиата.

Третий вид компаний - производители инструментария для программирования. В SDK компилятор не входит, поэтому компилятор нужно приобретать у сторонних разработчиков.

2. PalmOS SDK
SDK располагается на сайте PalmSource ( http://www.palmsource.com/developers/ ). Для скачивания необходимо зарегистрироваться. В SDK входят заголовочные файлы, очень подробная документация, несколько библиотек а также утилиты: эмулятор, симулятор и прочие.

Для разработки под конкретную версию PalmOS достаточно взять последний SDK. Все старшие SDK полностью поддерживают младшие версии PalmOS (исключение - PalmOS 6).

3. SDK лицензиатов
Все, что не поддерживается оригинальной версией PalmOS входит в SDK лицензиатов. SDK от PalmOne находится по адресу http://pluggedin.palmone.com . Внимание! SDK лицензиатов могут быть некумулятивными, то есть старшие версии SDK не включают библиотеки и описания для особенностей ранних устройств. В частности рекомендуется взять ВСЕ версии SDK от PalmOne.

4. Компиляторы.
Существуют два основных компилятора C/C++: CodeWarrior от Metrowerks и Prc-tools

CodeWarrior ( http://www.metrowerks.com/MW/Develop/Desktop/PalmOS/Professional/Default.htm ) - это добротный коробочный коммерческий продукт, включающий в себя все, что нужно для разработки. Компилятор доступен только для платформы Win32. Все нужные SDK уже включены в состав пакета.

Prc-Tools ( http://prc-tools.sourceforge.net/ ) - это версия компилятора gcc, позволяющяя генерировать код для PalmOS. Для инсталляции prc-tools под Win32 следует дополнительно поставить пакет CygWin и SDK.

Также сушествует среда PalmOS Development Suite (PODS) от PalmSource. Среда представляет из себя freeware IDE Eclipse и компиляторы для несуществующей PalmOS6 (Cobalt). В принципе в PODS можно создавать и приложения для существующих версий PalmOS. Для этого в состав PODS включен пакет Prc-Tools.

5. Отладка
Отладку программы можно вести на десктопе. Для этого существуют специальные программы - эмуляторы и симуляторы PalmOS.

Эмулятор - это программа, имитирующая аппаратную часть устройств на PalmOS 1-4. Для работы эмулятору нужен ROM конкретного устройства.

Симулятор - похожая программа, имитирующая PalmOS 5. В отличии от эмулятора, симулятор имитирует не аппаратную часть, а операционную систему, так что достоверность отлаженности ниже.

6. на что похож PalmOS API?

PalmOS - однозадачная event-driven ОС. Основные неожиданности при программировании - record-based файлы в памяти вместо raw файлов, исторические ограничения на размеры блоков памяти и недоступность глобальных переменных в некоторых ситуациях. Все остальные детали: оконная система, пользовательский интерфейс, диалоги и формы в ресурсах более-менее привычны для опытного программиста.

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

7. Что читать?
В состав SDK входит прекрасная документация. Palm OS Companion - сборник детальных статей о различных аспектах PalmOS API. Palm OS Reference - справочник по всем функциям. Ответы на все концептуальные вопросы можно найти в компаньоне. Также в интернете можно найти электронную копию книги издательства O'Reilly PalmOS programming.

8. Где задавать вопросы?
На ВСЕ вопросы начального уровня ответит документация. Самый большой англоязычный форум - http://news.palmos.com/read/all_forums/ . Поиск по этим архивам ответит на вопросы по темным закоулкам API.

9. Хочу программировать под пальму на Паскале!
НЕ НАДО! PocketStudio - это совсем не дельфи, это ближе к си с паскалевским синтаксисом. Вам все равно придется изучать си, поскольку большинство книг, примеров и описаний используют именно этот язык. Более того, иногда придется изучать сишные заголовочные файлы от SDK лицензиатов, чтобы вызвать описанные там функции из программы на паскале. На мой взгляд это слишком дорогая цена за любимый синтаксис.

10. Хочу примеры!

http://www.palmos.com/dev/dl/dl_codesamples/ . Классификатор всех примеров из SDK. Примеры в SDK Замечательные! Хорошо откомментированные и просто написанные.

11. Чем редактировать ресурсы?
Сравнительная табличка доступных компиляторов ресурсов приведена здесь:
http://wiki.palmoid.com/ow.asp?PalmResourceCompilers

Автор: renton 20.02.05, 13:50
Ну а PODS почему забыл? :-)

Автор: igor_n 20.02.05, 13:56
а чтобы народ с толку не сбивать. я попытался написать о том, что практично и реально используется. PODS мо моему разумению к практичным вещам не относится. Разве что рассматривать его как готовый пакет из cygwin/prc-tools/sdk :)

Автор: Guest 21.02.05, 16:56
Ну это на вкус и цвет. На мой взгляд, PODS сейчас - единственная среда разработки с перспективой, потому что CodeWarrior for PalmOS, по слухам, 6-ку поддерживать не будет, ну а с plain gcc тоже не всё весело, и перспективы 6-ки там тоже НЯП туманные.

Автор: igor_n 21.02.05, 17:04
Я так понял, что с уходом Бена CodeWarrior отошел от поддержки пальма. Несмотря на это, CW9 таки самый вменяемый пакет.

А чем, собственно, отличается PODS в поддержке OS5 от prc-tools? Наличием оболочки? Утилиты там все те же самые, откуда другим взяться?

Про шестерку я считаю писать еще рано. Кому нужно, тот прочитает-изучит, а вот тех, кому нужен "клиент под пальму вчера", смущать прелестями кобальта будет несколько преждевременно.

Автор: Guest 21.02.05, 22:44
Отличие PODS от prc-tools именно в поддержке ОС6. Я считаю, что "завязываться" на среду разработки, которая уже умерла де-факто (в 1 очередь касается CodeWarrior) - дело совершенно зряшное.
Другое дело - legacy projects. Их нет смысла переводить на PODS.

Автор: renton 21.02.05, 22:46
Это был я :)
А вообще, предлагаю следующее. Сделать открытый FAQ на базе твоего WIKI. Но уже открытый для всех, разумеется, с модератором, очевидно, опять-таки тобой.

Автор: igor_n 22.02.05, 11:08
я останусь на прежней позиции - лучшая среда для программирования под PalmOS 2-5 - это CodeWarrior (хотя сам лично использую prc-tools). Переход на шестерку - это слишком существенный переход, чтобы ради него ограничивать себя в разработке под старые оси.


Насчет вики - с удовольствием выдам пароль. Если кто-то хочет помочь в наполнении - пишите в PM.

Автор: infspir 10.03.05, 22:20
А как насчет Falch.net? - по-моему тоже неплохая среда разработки.
Так вот я хотел бы найти какую-нибуть документацию на русском о том как программить под Palm OS на С++ с помощью Falch.net (prc-tools) или даже CodeWarrior.
Может кто помочь? Очень срочно нужно!!!

Автор: dmp 10.03.05, 22:35
Срочно учи английский. Shub@ написал пару статей поищи на сайте "Мой компьютер".

Автор: peter788 12.04.05, 12:52
Проясните, пожалуйста, ситуацию с Cobalt.
Почему sdk уже давно доступен для него, а устройств не предвидится???
Как-то нелогично получается...

Автор: alexhemp 12.04.05, 15:59
Почему не придвидиться?

Cobalt как OS передана лицензиатам PalmSource (т.е. PalmOne и Sony и т.п.) в начале прошлого года. Но лицензиаты не торопятся выпустить устройства на кобальте на рынок.

Почему нет устройств - это сложный вопрос, есть масса причин, почему с Кобальтом не стоит торопиться. Их так или иначе обсуждали в этом форуме.

Автор: igor_n 13.04.05, 19:19
http://finance.yahoo.com/q/bc?s=PLMO&t=1y&l=on&z=m&q=l&c=

Автор: peter788 26.04.05, 19:19
Еще 2 вопроса:
1) Как получить доступ к http://news.palmos.com/ на постинг своих вопросов?
2) Правильно я понимаю, что сайт разработчиков для clie - http://www.cliedeveloper.com/? А то он не работает уже довольно долго долгое время, а мне нужен сдк и симулятор...

Автор: igor_n 26.04.05, 21:33
регистрация на ньюса идет общая на лист и веб. Раньше она была где-то на palmsource.com в списке ресурсов для разработчиков. Думаю, что там она и осталась.

Клиедевелопер мертвенький. Clie и симулятор можно взять из CW9 или кто-нибудь поделится.

Автор: peter788 29.04.05, 11:32
Правильно я понимаю, что sony на пятой оси поддерживают обычный hi-res?

Автор: igor_n 29.04.05, 11:50
поддерживает конечно. можно и через Hr* функции и через corrdinateSystem.

Автор: Everend 06.09.05, 13:43
Значит так. Объясните, пожалуйста.
Вопрос №1.
Можно ли поменять Palm OS на Windows CE, и есть ли преимущества у последнего?
Вопрос №2.
Очень быстро садится аккумулятор. Скорее всего недостаточно долго заряжал в первый раз. Что-нибудь можно сделать?
Вопрос №3.
Какую карту памяти купить - обычную, или чтобы побыстрее была?

Спасибо заранее)

Автор: alexhemp 06.09.05, 13:53
Everend

Это тебе на пользовательские форумы нужно - на hpc.ru или palmz.in.

Тут общаются программисты.

Автор: Everend 07.09.05, 14:58
Ну если знаете - почему бы не сказать? И как можно русифицировать Palm?

Автор: igor_n 07.09.05, 16:38
M

Потому что за одним вопросом посыпятся следующие. На указанных форумах эти темы уже не раз обсуждались. Зачем разводить здесь филиал пальмзов непонятно.

Автор: alexhemp 07.09.05, 17:17
Everend

Русификация - туда-же.
Не сказать по причине того - что это будет нарушение правил данного форума - т.е. оффтопик.

Автор: deniman 08.10.05, 14:48
Я хочу научится програмировать для Palm OS. У меня в распоряжениии есть Palm Sony CLIE. Версию ОС пока не знаю. Что мне нужно для того, чтобы начать этим занимастя?
Спасибо...
[URL=mailto: deniman@mail.ru]deniman@mail.ru[/URL]

Автор: Duo 08.10.05, 17:51
читать первый пост этого топика, потом документацию по Palm OS, потом этот форум.

Автор: deniman 05.12.05, 20:50
Привет всем...
Щас я работаю в Palmphi, но в этой среде, пока, невозможно создавать свои объекты.
А стакой надобностью я уже столкнулся...
Достал CodeWarrior 9.0, но он для меня какой-то очень (в сравнении с Palmphi) запутанный.
Не подскажете где я могу найти руский Help с примерами по CodeWarrior.
C английским, в этом плане, у меня туговато...
Ну, а если такого хелпа нет, тогда хотябы подскажите, где я могу прочитать подробную (с примерами) инфу, о создании проэктов в этой среде...

Заранее большое сапсибо...

Автор: telef 19.11.06, 21:43
Цитата
Не подскажете где я могу найти руский Help с примерами по CodeWarrior.
C английским, в этом плане, у меня туговато...
Ну, а если такого хелпа нет, тогда хотябы подскажите, где я могу прочитать подробную (с примерами) инфу, о создании проэктов в этой среде...

Есть кто живой, мне тоже интересно. Хочется писать серьезные программы но вначале всегда сложно. Помогите а?

Автор: Thunder 20.11.06, 15:14
Цитата telef @
Есть кто живой, мне тоже интересно. Хочется писать серьезные программы но вначале всегда сложно. Помогите а?


Русских хелпов нету и, я думаю, не будет. В доках английский язык не очень сложен, необходимы минимальные, начальные знания.

Автор: Стакан 13.06.17, 12:11
:yes-sad:

Автор: Java8 25.06.17, 19:41
:tong:

Автор: Mo.b 10.10.17, 14:12
:thanks:

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)