На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Правила раздела "Программирование под PalmOS"
Правила раздела просты:
1. Будьте вежливыми.
2. Задавате вопросы только по теме. Пользовательские вопросы (у меня не работает пальм) являются оффтопиком. Пользуйтесь конференциями palmz.in, hpc.ru, ihand.ru .
3. Поиск вареза запрещен.
4. Пользуйтесь поиском. Не надейтесь, что кому-то доставляет удовольствие отвечать в сотый раз на один и тот же вопрос.
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> PalmOS development FAQ, ответы на вопросы начинающих
    В этом топике будут публиковаться ответы на частозадаваемые вопросы по программированию под 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
      Ну а PODS почему забыл? :-)
        а чтобы народ с толку не сбивать. я попытался написать о том, что практично и реально используется. PODS мо моему разумению к практичным вещам не относится. Разве что рассматривать его как готовый пакет из cygwin/prc-tools/sdk :)
          Ну это на вкус и цвет. На мой взгляд, PODS сейчас - единственная среда разработки с перспективой, потому что CodeWarrior for PalmOS, по слухам, 6-ку поддерживать не будет, ну а с plain gcc тоже не всё весело, и перспективы 6-ки там тоже НЯП туманные.
            Я так понял, что с уходом Бена CodeWarrior отошел от поддержки пальма. Несмотря на это, CW9 таки самый вменяемый пакет.

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

            Про шестерку я считаю писать еще рано. Кому нужно, тот прочитает-изучит, а вот тех, кому нужен "клиент под пальму вчера", смущать прелестями кобальта будет несколько преждевременно.
              Отличие PODS от prc-tools именно в поддержке ОС6. Я считаю, что "завязываться" на среду разработки, которая уже умерла де-факто (в 1 очередь касается CodeWarrior) - дело совершенно зряшное.
              Другое дело - legacy projects. Их нет смысла переводить на PODS.
                Это был я :)
                А вообще, предлагаю следующее. Сделать открытый FAQ на базе твоего WIKI. Но уже открытый для всех, разумеется, с модератором, очевидно, опять-таки тобой.
                  я останусь на прежней позиции - лучшая среда для программирования под PalmOS 2-5 - это CodeWarrior (хотя сам лично использую prc-tools). Переход на шестерку - это слишком существенный переход, чтобы ради него ограничивать себя в разработке под старые оси.


                  Насчет вики - с удовольствием выдам пароль. Если кто-то хочет помочь в наполнении - пишите в PM.
                    А как насчет Falch.net? - по-моему тоже неплохая среда разработки.
                    Так вот я хотел бы найти какую-нибуть документацию на русском о том как программить под Palm OS на С++ с помощью Falch.net (prc-tools) или даже CodeWarrior.
                    Может кто помочь? Очень срочно нужно!!!
                      Срочно учи английский. Shub@ написал пару статей поищи на сайте "Мой компьютер".
                        Проясните, пожалуйста, ситуацию с Cobalt.
                        Почему sdk уже давно доступен для него, а устройств не предвидится???
                        Как-то нелогично получается...
                          Почему не придвидиться?

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

                          Почему нет устройств - это сложный вопрос, есть масса причин, почему с Кобальтом не стоит торопиться. Их так или иначе обсуждали в этом форуме.
                            http://finance.yahoo.com/q/bc?s=PLMO&t=1y&l=on&z=m&q=l&c=
                              Еще 2 вопроса:
                              1) Как получить доступ к http://news.palmos.com/ на постинг своих вопросов?
                              2) Правильно я понимаю, что сайт разработчиков для clie - http://www.cliedeveloper.com/? А то он не работает уже довольно долго долгое время, а мне нужен сдк и симулятор...
                                регистрация на ньюса идет общая на лист и веб. Раньше она была где-то на palmsource.com в списке ресурсов для разработчиков. Думаю, что там она и осталась.

                                Клиедевелопер мертвенький. Clie и симулятор можно взять из CW9 или кто-нибудь поделится.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script Execution time: 0,1159 ]   [ 18 queries used ]   [ Generated: 21.09.19, 09:09 GMT ]