Как начать разработку программного обеспечения Maemo
Несколько месяцев назад я купил устройство Nokia N800, и с тех пор мне не терпится написать для него код. Я знаю, что некоторые приложения, которые я запускаю, написаны на Python, и что есть порт Mono для платформы Maemo.
По сути, я спрашиваю:
- Есть ли рекомендуемый язык разработки для платформы Maemo?
- Какие инструменты разработки существуют?
- Могу ли я использовать Windows или Linux в качестве основного компьютера для разработки, и что вы рекомендуете и почему?
9 ответов
Фреймворк Hildon состоит из расширений GTK+, поэтому язык - C. Вы также можете использовать оболочки C++ ( maemomm). Или вы можете использовать pymaemo для создания приложений на Python, что для меня гораздо проще, чем C или C++. Я также видел попытку использования порта ruby, но в последнее время я не занимался этим проектом.
Для среды разработки существует "блокнот", который дает вам "песочницу" для компиляции и запуска вашего приложения. Вот ссылка на то, как настроить среду разработки блокнота. (Конечно, это заняло у меня много времени, чтобы все настроить.)
Вам придется использовать Linux в качестве компьютера для разработки, потому что ваш Nokia N800 действительно мини-компьютер с Linux.
Если вы хотите иметь опыт работы с IDE, попробуйте плагин ESbox для Eclipse.
Удачи взлома!!!
Я настоятельно рекомендую вам попробовать C++ и QT.
QT уже хорошо поддерживается для Diablo и Fremantle, и следующий выпуск Maemo (Harmattan) должен быть основан на QT.
Изучение QT будет намного проще, чем GTK+, кодирование будет быстрее и увлекательнее, ваше приложение может быть скомпилировано на различных платформах, и вы даже сможете разрабатывать и отлаживать в Windows, а затем просто запустить qmake && make в среде scratchbox.
Взгляните на этот урок: Начало работы с QT для Maemo
Вам все еще нужен Linux-модуль для компиляции кода для устройства Maemo. Если вы используете Windows, вы можете настроить Ubuntu (или Kubuntu) на компьютере VirtualBox.
Maemo SDk + вместе с Scratchbox 2 - лучшая альтернатива, чем Maemo SDk & Scratchbox.
Лично я использую QT Creator в Windows, Kubuntu 9.04 в VirtualBox, и я никогда не был счастливее. Когда я начал, я попробовал "официальный" подход: Ubuntu, GTK+, язык C и блокнот 1. ... это было больно.
Я только что нашел два урока на Maemo.org:
Для дополнительного удовольствия на ходу вы можете получить linux gcc и создать инструменты, работающие на самом планшете, а также программировать и компилировать на устройстве. Для любой помощи с такими вещами форумы Maemo Talk являются фантастическими.
Ruby для Maemo размещается по адресу http://code.scottishclimbs.com/maemo/
Я еще не пробовал это сам.
Существует разработка Scratchbox Virtual Appliance для Maemo (я не уверен, что ссылка правильная), но именно так я начал взламывать. Мне потребовалось целую вечность, чтобы понять, как самостоятельно настроить блокнот.
Я должен повторить ответ Карачева.
2 рекомендуемых подхода в настоящее время:
Python + PyGtk
C++ и Qt
Используя что-то еще, вы настраиваете себя на какую-то боль (если вы не ветеран Gtk + - поскольку вы задаете этот вопрос, я полагаю, что вы не). C++ & Qt - это будущее Maemo, и Qt хорошо работает на "старых" платформах, таких как Diablo.
Как отладчик, я рекомендую вам собрать (скомпилировать) "cgdb". Старый добрый GDB может быть слишком спартанским.
Как правило, вы должны разработать свое приложение как "обычное" приложение Qt с использованием Qt Creator и периодически тестировать его в блокноте.
Nokia прилагала все усилия, чтобы предоставить инструменты и документацию для разработчиков. Я бы сказал, что одним из лучших мест для начала является форум Nokia:
http://www.forum.nokia.com/Technology_Topics/Device_Platforms/Maemo.xhtml
Следующая остановка разработки для Maemo - это, конечно, штаб-квартира Maemo:
Эти две ссылки ведут на порталы, где вам придется углубляться в детали для получения дополнительной информации, но они являются довольно хорошей отправной точкой. Теперь, чтобы ответить на ваши вопросы напрямую:
Я предполагаю, что два "рекомендуемых" языка - это C и Python. Хотя они хорошо поддерживаются, они не являются единственными вариантами, как вы видели в предыдущих ответах. В дополнение к этим языкам Perl находится на устройстве, хотя он не находится в том же состоянии, что и в Debian.
Главный инструмент разработки - SDK. Позволяет протестировать среду и скомпилировать программное обеспечение для устройства. Вы также можете использовать Eclipse, для которого есть плагины.
Рекомендуется использовать Linux в качестве компьютера для разработки, но вы можете запустить его на виртуальной машине в Windows. В то время как я предпочитаю, чтобы моя ОС была на 100% бесплатной, и поэтому выбираю Debian, Nokia усердно работает над созданием лучшей среды разработки для Windows. Так что будьте уверены, что Nokia не обязательно разделяет мою предвзятость!:-)
Я развиваюсь в основном с Python и Pyside (я развиваю на N900). У меня есть все мои файлы в Nokia N900, и я использую sshfs для монтирования моего домашнего каталога на моем компьютере. Затем я разрабатываю на своем рабочем столе, фактически сохраняя все прямо в мобильный телефон, и использую SSH для его удаленного запуска.
Если вам лень даже поднять устройство, чтобы посмотреть на экран, вы можете использовать VNC; хотя лично я чувствую, что это не достаточно отзывчиво.
Да, все, что у меня есть на рабочем столе, это мой редактор (кстати, сублимированный текст). Остальные живут на мобильном устройстве. Я использую Git для синхронизации вещей / создания резервных копий и т. Д.
py2deb отлично подходит для создания пакетов, когда вы хотите распространять свой проект. Опять же, не нужно ничего устанавливать на рабочий стол.
Если вы предпочитаете быть более консервативным, SDK предназначен для Debian, и вы сильно пострадаете от любой ОС, не основанной на Debian (если вы не используете ВМ). Имейте в виду!:)