Как начать разработку программного обеспечения Maemo [закрыто]
-
05-07-2019 - |
Вопрос
Несколько месяцев назад я купил устройство Nokia N800, и с тех пор у меня руки чешутся написать для него какой-нибудь код.Я знаю, что некоторые приложения, которые я запускаю, написаны на Python и что для платформы Maemo также существует Mono-порт.
По сути, то, о чем я спрашиваю, это:
- Существует ли рекомендуемый язык разработки для платформы Maemo?
- Какие существуют инструменты разработки?
- Могу ли я использовать Windows или Linux в качестве основной машины разработки, какую вы рекомендуете и почему?
Решение
Фреймворк Hildon состоит из расширений GTK +, поэтому язык - C.Вы можете использовать оболочки C ++ (маемомм) тоже.Или вы можете пойти с пимаемо для создания приложений на Python, который для меня намного проще, чем C или C ++.Я также видел попытку создания порта ruby, но в последнее время не занимался этим проектом.
Для среды разработки существует "scratchbox", который предоставляет вам изолированную среду для компиляции и запуска вашего приложения.Вот ссылка на то, как настроить скретчбокс среда разработки.(Конечно, мне потребовалось много времени, чтобы все настроить.)
Вам придется использовать Linux в качестве компьютера для разработки, потому что ваш Nokia N800 на самом деле представляет собой мини-компьютер на базе Linux.
Если вы хотите получить опыт работы с IDE, попробуйте ESbox ( Электронный ящик ) плагин для Eclipse.
Получайте удовольствие от взлома!!!
Другие советы
Я настоятельно рекомендую вам попробовать C ++ и QT.
QT уже хорошо поддерживается для Diablo и Fremantle, и следующий выпуск Maemo (Harmattan) должен быть основанный на QT.
Изучать QT будет намного проще, чем GTK +, кодирование будет быстрее и увлекательнее, ваше приложение можно будет компилировать на различных платформах, и вы даже сможете разрабатывать и отлаживать в Windows, затем просто запустите qmake && make в среде scratchbox.
Взгляните на этот учебник: Начало работы с QT для Maemo
Вам все еще нужен Linux box для компиляции вашего кода для устройства Maemo.Если вы используете Windows, вы можете установить ubuntu (или kubuntu) на компьютере VirtualBox.
Maemo SDk + наряду с Scratchbox 2 является лучшей альтернативой, чем Maemo SDk и Scratchbox.
Лично я использую QT creator в Windows, kubuntu 9.04 в VirtualBox и никогда не был так счастлив.Когда я начинал, я попробовал "официальный" подход :Ubuntu, GTK +, язык C и scratchbox 1....это было больно.
Я только что нашел два руководства по Maemo.org:
Для дополнительного удовольствия на ходу вы можете запустить linux gcc и make tools на самом планшете и программировать и компилировать на устройстве.За любую помощь в такого рода делах Разговор с Маэмо форумы - это фантастика.
Ruby для Maemo размещается по адресу http://code.scottishclimbs.com/maemo/
Я сам еще не пробовал этого.
Там есть Виртуальное устройство Scratchbox для разработки Maemo (я не уверен, что ссылка правильная), но именно так я начал взламывать.Мне потребовалась целая вечность, чтобы самому разобраться, как настроить scratchbox.
Я должен повторить ответ Карачова.
В настоящее время двумя рекомендуемыми подходами являются:
Python + PyGTK
C ++ и Qt
Используя что-либо еще, вы обрекаете себя на некоторую боль (если только вы не ветеран Gtk + - поскольку вы задаете этот вопрос, я предполагаю, что вы им не являетесь).C ++ и Qt в любом случае - будущее Maemo, а Qt хорошо работает на "старых" платформах, таких как Diablo.
Как отладчик, я рекомендую вам подобрать (скомпилировать) "cgdb".Старый добрый gdb может быть немного чересчур спартанским.
Как правило, вы должны разрабатывать свое приложение как "обычное" Qt-приложение, используя Qt Creator, и время от времени тестировать его в scratchbox.
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;хотя лично я считаю, что это просто недостаточно отзывчиво.
Да, все, что у меня есть на рабочем столе, - это мой редактор (между прочим, sublime-text).Остальные живут на мобильном устройстве.Я использую git для синхронизации вещей / создания резервных копий и т.д.
py2deb отлично подходит для создания пакетов, как только вы захотите распространить свой проект.Опять же, нет необходимости что-либо устанавливать на ваш рабочий стол.
ЕСЛИ вы предпочитаете быть более консервативным, SDK предназначен для debian, и вы будете страдать очень много с любой ОС, не основанной на debian (если только вы не используете виртуальную машину).Будьте осторожны!:)