 И так, статьи писать я не очень умею но хотелось бы показать вам такую вещь как mShell... Данная программа является интерпретатором языка программирования m для смартфонов UiQ3, UiQ2 и S60. Это вам ничего не говорит? Ну тогда понятней, эта среда программирования не компилирует написанную на языке m программу а запускает как скрипт. Чем это плохо, и чем хорошо: Плохо: 1. Скорость работы приложений ниже чем у скомпилированных, независимых приложений. 2. Запуск скрипта выполняется из среды программирования, а не из списка приложений. 3. Интерфейс переплетается с консолью mShell. Может есть еще недостатки но в описании они думаю не нуждаются
Посмотрим чем же он хорош: 1. Написание программы непосредственно на смартфоне. 2. Написание мультиплатформенных скриптов. 3. Данный язык легко дается обузданию 4. Возможность поставить скрипт в автозагрузку, т.е. при запуске mShell скрипт автоматически запускается. 5. Если изучить язык m (а, это не трудно) можно писать приложения в каких вы нуждаетесь и не ждать когда же программу сделают, а потом когда крякнут :)
Это конечно не все преимущества данной среды программирования, я навел самые основные какие в голову пришли.

Интересно? Ну тогда пойдем дальше... Для начала нам нужно: 1. Сам mShell 2. Подписать mShell сертификатом разработчика и установить на смарт 3. Зарегистрировать mShell(бесплатно)
Теперь у нас установлен mShell. Как на пример, можете посмотреть на скрипты SmsService, Partytime и RailwayClock(пример програмного рисования графики).
Тем кто программировал на паскале или с++ да и вообще на чем то программировал, не составит труда научиться программировать на m. Тех же кто не программировал попрошу не вешать нос, ведь никогда не поздно начать, и начнете вы с m.
Думаю достаточно теории, пора перейти к практике... Ну как правило первой(на любом языке) пишут программу "Hello, world", чем мы хуже? На m сделать это очень просто. Запускаем mShell, "Дополн." -> "New script", откроется окно куда вы пишете код своей программы. Для "Hello, world", пишем следующее:
print "Hello, world";
Готово, теперь для запуска нажимаем "Дополн." -> "Save & Go". Программа должна вывести текст "Hello, world" и завершить работу. Статус скрипта(программы) видно вверху окна возле названия вашего скрипта. Зеленая иконка - программа работает, красная - не работает т.е. сделал что нужно и завершил работу(более подробно об этом можете прочесть в документации). Для возврата к редактированию кода программы нажимаем "Дополн." -> "Edit Source". Как вы уже поняли print это оператор который выводит текст. Теперь перейдем к более сложной программе:
use vibra while true do vibra.on(); sleep(50); vibra.off(); print "тук"; cls(); sleep(1600); end
Запускаем, работает? Ваш телефон ожил, у него появилось сердце. Если оно беться не очень правильно не беда, ведь я не врач и на угад поставил промежутки, можете поекспериментировать и поправить "пульс" :) Разберем программу: uses vibra - обьявляется использование библиотеки vibra, т.е. виброзвонка телефона. while true do - это начало цикла. Тоесть код заключенный в цикл будет постоянно повторяться и программа не закроется пока условия скрипта не выполняться, но у нашей программы "Пульс", скрипт не перестанет работать никогда, потому-что условие true. Для завершения работы программы нажимаем "Дополн." -> "Stop". end - конец тела цикла в данном случае. vibra.on() - включить вибро vibra.off() - выключить вибро sleep(50) - задержка перехода на следующий оператор (в миллисекундах) cls() - очистка консоли. Теперь вы должны понять как программа работает, а если так и не поняли то переведу код в привычные человеку фразы :) Человеческим языком код нашей программы выглядит так:
включить возможность использования вибро начало цикла включить вибро; задержка 50 миллисек.; выключить вибро; вывести на экран тескст "тук"; очистить экран; задержка 1.6 сек.; конец цикла
Эта статья, коротенькое введение в язык m. Полное описание языка, его функций, библиотек и т.д. вы узнаете в документации mShell, там все ясно написано. Мне бы хотелось чтобы простые юзеры попробовали попрограммировать, ведь это такое интересное занятие :)
Документация: Обучение и руководство пользователя Справка Руководство по библиотекам
Может где-то я допустил ошибку или у вас есть что добавить, пишите...
При копировании данного материала имя автора и ссылка на источник обязательны. YuBerion. http://www.yuberion.uiq3.org/readarticle.php?article_id=1
2007-12-03
|