Комментарии 14
Идеальное пользовательское соглашение!
+13
Если бы не XML, то было бы неплохо. Даже не менее универсальный json выглядит на порядок дружелюбнее, а специализированные форматы значительно удобнее и читабельнее.
+3
А в чём был смысл брать XML, который и так не подарок для редактирования, но хотя бы есть средства редактирования, и запиливать «свой формат» XML подобный но с костылями типа комментариев # и [[ ]]?
Много работы перекладывается на плечи пользователя — логичнее было бы передавать в вызываемые скрипты ВСЮ форму в удобном для обработки стандартными средствами баша виде, или ещё лучше — организовывать временный файл состояния формы доступный для грепания.
Update без возможности удалять виджеты — face palm
Много работы перекладывается на плечи пользователя — логичнее было бы передавать в вызываемые скрипты ВСЮ форму в удобном для обработки стандартными средствами баша виде, или ещё лучше — организовывать временный файл состояния формы доступный для грепания.
Update без возможности удалять виджеты — face palm
0
# нужен был для комментирования кода, особенно при отладке. А #include вообще спас от слепоты.
[[ ]] вынуждено добавлено, потому что < и > в иксемели зарезервированные и их нельзя использовать.
Ну а остальное, это взгляд на роад мэп. Можно как угодно.
А к удалению виджетов дело не дошло, потому что к тому времени уже отпустило.
[[ ]] вынуждено добавлено, потому что < и > в иксемели зарезервированные и их нельзя использовать.
Ну а остальное, это взгляд на роад мэп. Можно как угодно.
А к удалению виджетов дело не дошло, потому что к тому времени уже отпустило.
0
Большое спасибо за интересный пост. Ваша разработка напомнила мне весьма занимательный подход для построения простеньких мобильных приложений с UI. Этот подход когда-то был использован в смартфонах Motorola, работающих под управлением GNU/Linux. Интерфейс этих гаджетов, кстати, тоже использовал библиотеку Qt, вернее одну из ее версий для Embedded-устройств — Qt/Embedded версии 2.3.8 (библиотека Qt в то время принадлежала компании Trolltech ASA). Правда, Motorola внесла свои изменения в Qt/Embedded и дополнила библиотеку собственным фреймворком. Так вот, для упрощения разработки различных программ под эти устройства, были созданы так называемые «ShowModules», представлявшие собой простенькие C++/Qt-based программы, принимающие несколько аргументов командной строки или читающие настройки из специального файла. На основе полученных данных и строился интерфейс приложения. Создание программ и полезных утилит с помощью «ShowModules» было очень простым занятием, начинающий разработчик мог написать собственную программу используя Shell-кодинг или известный ему язык программирования, который поддерживал вызовы внешних утилит. Например, для того чтобы отобразить на экране телефона вот такой простенький диалог:
Нужно было всего-лишь выполнить скрипт:
Таким образом, с помощью набора «ShowModules» получались вполне работающие приложения с нативным интерфейсом. Например, такие:
Исходный код утилиты, в котором весьма просто разобраться даже новичкам. Обратите внимание, что все «ShowModules» имеют префикс «show» и несколько аргументов, отвечающих за отображаемую информацию и элементы управления.
Помимо простых интерфейсов, можно было строить и сложные. Например, с вкладками, текстовыми полями, счетчиками и другими элементами мобильного интерфейса. Обычно, утилиты, реализующие такие интерфейсы:
Использовали специальные конфигурационные файлы, описывающие не только UI, но и поведение программы при выборе каких-либо пунктов. Если посмотреть на файл по ссылке выше, то можно увидеть, что при выборе пункта списка «Scan SD card», будет выполнен скрипт из текущего каталога с именем «SD_scan.sh», который просканирует карту памяти.
Несмотря на то, что для этих смартфонов можно было разрабатывать приложения и на C++/Qt, разработчики довольно-таки часто использовали именно такие «костыли». Всё-таки порог вхождения в C++/Qt на этой платформе был неоправданно высок (2006(7) год, нет даже нормальных IDE для C++/Qt, полностью отсутствует необходимая документация); создание чисто нативного C++/Qt приложения требовало большого количества времени, нервов и усидчивости. Ведь нормальный SDK для этих платформ Motorola так и не выпустила, поэтому для разработки использовался любительский, с отреверсенными на коленке библиотеками, следовательно, отлов багов в приложении был тем ещё джедайством. Но это уже другая история…
Нужно было всего-лишь выполнить скрипт:
#!/bin/sh
I4="Scan Complete"
I5="Your SD card is clean"
showMsg "$I4" "$I5" 2
Таким образом, с помощью набора «ShowModules» получались вполне работающие приложения с нативным интерфейсом. Например, такие:
Исходный код утилиты, в котором весьма просто разобраться даже новичкам. Обратите внимание, что все «ShowModules» имеют префикс «show» и несколько аргументов, отвечающих за отображаемую информацию и элементы управления.
Помимо простых интерфейсов, можно было строить и сложные. Например, с вкладками, текстовыми полями, счетчиками и другими элементами мобильного интерфейса. Обычно, утилиты, реализующие такие интерфейсы:
Использовали специальные конфигурационные файлы, описывающие не только UI, но и поведение программы при выборе каких-либо пунктов. Если посмотреть на файл по ссылке выше, то можно увидеть, что при выборе пункта списка «Scan SD card», будет выполнен скрипт из текущего каталога с именем «SD_scan.sh», который просканирует карту памяти.
Несмотря на то, что для этих смартфонов можно было разрабатывать приложения и на C++/Qt, разработчики довольно-таки часто использовали именно такие «костыли». Всё-таки порог вхождения в C++/Qt на этой платформе был неоправданно высок (2006(7) год, нет даже нормальных IDE для C++/Qt, полностью отсутствует необходимая документация); создание чисто нативного C++/Qt приложения требовало большого количества времени, нервов и усидчивости. Ведь нормальный SDK для этих платформ Motorola так и не выпустила, поэтому для разработки использовался любительский, с отреверсенными на коленке библиотеками, следовательно, отлов багов в приложении был тем ещё джедайством. Но это уже другая история…
+5
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Управление графическим интерфейсом с помощью echo и cat