30-05-2023
Тип исполнения: | |
---|---|
Появился в: |
2003 |
Автор(ы): |
David J Firth |
Расширение файлов: |
.bas, .lis |
Релиз: |
|
Испытал влияние: |
MobileBASIC — интерпретируемый язык программирования, используемый для мобильных телефонов с поддержкой MIDP-2.0. Существует в 4 реализациях: как среда программирования для компьютера, как обычный мидлет для мобильных устройств, как приложение для устройств под управлением Android и iOS.
Появился язык в 2002 году благодаря программисту Дэвиду Фёрту (англ. David J Firth), как легкое и удобное средство разработки программного обеспечения для мобильных телефонов.
Официальные версии нумеруются следующим образом:
Содержание |
Синтаксис мобильной версии очень похож на старые версии бейсика. Во-первых, используется обязательная нумерация строк, во вторых не используются пользовательские процедуры и функции (вместо них используется команда GOSUB). Вот пример кода на MobileBASIC:
10 INPUT "Введите свое имя", NAME$ 20 PRINT "Привет, " + NAME$ + "!" 30 IF NOT INKEY(0) THEN GOTO 30 40 END
Из строки 30 видно, что в этом языке хорошо продумана работа с клавиатурой. А вот с другими важными телефонными особенностями: формами и 1.8.6.2 by aNNiMON, версия 1.8.7 уже несколько лет "ожидается в ближайшем будущем". Вообще, к настоящему моменту модификатор - Mumey - пока занят более серьёзными проектами. Сам же Дэвид Фёрт, в декабре 2010 года выпустил новую версию, 1.9, но все изменения заключались только в добавлении функции POWER для дробных чисел, в остальном же все осталось как в версии 1.8, поэтому разработчики продолжают использовать 1.8.6.2[1]. Если версия 1.9 была выпущена вместе с исходными кодами, то 1.91 уже снова закрыта и продается по цене £4.99. Что касается хранения кода, то MobileBASIC может хранить исходные коды программ в двух вариантах - как обычный текстовый файл, либо как байт-код. В первом случае файлу принято давать расширение .lis (от команды бейсика LIST), во втором - .bas.
Возможность свободной распаковки jar-архива и открытия любого модуля программы с помощью самого MobileBASIC настораживает программистов. Ведь тогда кто угодно может посмотреть и изменить код, причем не прикладывая особых усилий. В начале 2010 года появился обфускатор BAS-файлов. Его работа заключалась в затирании имен переменных, используемых в программе. Это стало толчком к изучению структуры байт-кода. Спустя некоторое время обфускатор перешел на новый уровень - теперь он "портит" файл так, что средствами MobileBASIC его не открыть, в то же время в собранном виде код абсолютно рабочий. На сегодняшний день структура раскрыта полностью, правда, не исключены ошибки либо недочеты при описании. Структура уже используется - сделан декомпилятор BAS=>LIS, также в разработке компилятор LIS=>BAS, возможно еще одно применение - интерпретатор, который понимает больше функций (например, достаточно добавить всего одну функцию - REPAINT, чтобы значительно повысить скорость работы с графикой).
Версия | Изменения |
---|---|
1.8.0 | Текстовый интерфейс, нет возможности работы с ФС |
1.8.3 | Добавлена возможность работы с ФС, добавлена возможность работы в полноэкранном режиме |
1.8.4, 1.8.5, 1.8.6 | Добавлен удобный интерфейс, возможность создания мидлета без ручной запаковки |
1.8.6 for Miles | Исправлена работа на телефонах Sony Ericsson 5 поколения |
1.8.6.1 | Исправлена работа с формами на телефонах Sony Ericsson 5 поколения |
1.8.6.2 | Исправлена работа на телефонах Sony Ericsson 5 поколения |
1.9 | Официальная версия от 28 декабря 2010. Стал доступен исходный код. Незначительные изменения от 1.8. |
1.91 | Официальная версия от 6 ноября 2011. Закрыт исходный код. Незначительные изменения. |
Вторым средством разработки приложений для телефонов является компьютерная среда разработки MobileBASIC. Но код, написанный на нем сильно отличается от мобильной версии языка. Теперь он больше напоминает Quick Basic. Номера строк превратились в необязательные метки, программа легко делится на модули. Главной является процедура Main (Sub Main()). Но он все равно остается интерпретируемым языком, пусть и более быстрым в исполнении. Добавлена работа с картами и тайлами, для которых есть встроенные редакторы. Вообще, обе вариации среды разработки неплохо заточены именно под создание игр, о чем свидетельствует возможность работы с графическими элементами (гелями) и спрайтами.
Среда разработки включает в себя помимо редактора кода с подсветкой синтаксиса еще несколько специализированных редакторов: редактор тайлов (Tile Editor), редактор карт (Map Editor), средство изменения размеров изображения (Image Resize), средство подбора цвета (Color Chooser), а также встроенный эмулятор. Программа написана на Java SE, что позволяет ее запускать на любой операционной системе, на которой есть виртуальная Java-машина.
Последней версией является 2.3 от 8 ноября 2011[2].
В июне 2011 года в свет вышла очередная версия среды разработки. В этот раз - для платформы Android. Синтаксис сильно похож на синтаксис компьютерной версии, есть поддержка многомерных массивов, пользовательских процедур и функций. В программу включена удобная справка по языку и более 100 примеров использования различных возможностей языка[3]. Существует две версии среды разработки: бесплатная (минусы - показ рекламы[4]) и полная, доступная по цене £2.99. Последняя весрия - 3.1 от 6 ноября 2011.
В 2012 году MobileBASIC распространился еще на одну платформу - iOS. Новая версия получила название MobileBASIC LITE. В нее включены многие функции, специфичные для устройств на базе iOS, такие как определение местоположения, работа с акселерометром и гироскопом, поддержка встроенных карт, работа с базами данных и многое другое [5]. В среду разработки встроен подробный справочник по языку с примерами.
Диалекты языка программирования Бейсик | |
---|---|
Классические |
Altair BASIC • Applesoft BASIC • Atari BASIC (ST) • BASIC Programming • Color BASIC • Commodore BASIC • Dartmouth BASIC • Family BASIC • G-BASIC • GFA BASIC • GW-BASIC • HP BASIC for OpenVMS • IBM (BASICA • Cassette • Disk) • Integer BASIC • Locomotive BASIC • Mallard BASIC • Microsoft BASIC • MSX BASIC • ScriptBasic • Sinclair BASIC • STOS BASIC • TI BASIC (TI 99/4A • калькуляторы) • Tiny BASIC • Turbo-Basic XL • UBASIC • Бейсик Вильнюс |
Переходные | |
Процедурные |
AmigaBASIC • AMOS BASIC • BBC BASIC • Beta BASIC • DarkBASIC • FreeBASIC • GFA BASIC • GLBasic • Liberty BASIC • Microsoft Small Basic • PureBasic • QBasic • QB64 • QuickBASIC • ScriptBasic • SuperBasic • ThinBasic • True BASIC • Turbo Basic • XBasic • Xblite • Basic4ppc • Visual Basic • Visual Test |
Объектные |
BlitzMax • FreeBASIC • Gambas • GLBasic • KBasic • PowerBasic • ProvideX • RapidQ • REALbasic • Run BASIC • AutoIt • StarOffice Basic • Visual Basic (.NET) |
Мобильные |
Основные языки программирования (сравнение • IDE • история • хронология) | |
---|---|
Используемые в разработке |
Ада • APL • Язык ассемблера • ActionScript • ABAP/4 • AutoIt • AWK • Бейсик • Си • Кобол • C++ • C# • Cω • Clarion • Clojure • ColdFusion • Common Lisp • D • dBase • Delphi • Eiffel • Erlang • Euphoria • F# • Форт • Фортран • Gambas • Go • Groovy • HAL/S • Haskell • Icon • Java • JavaScript • Limbo • Lua • Модула-3 • Object Pascal • Objective-C • OCaml • Oz • Parser • Паскаль • Компонентный Паскаль • Perl • PHP • PowerBASIC • Python • ПЛ/1 • Пролог • Ruby • Scala • Scheme • Smalltalk • SQL • PL/SQL • Tcl • Vala • Visual Basic (.NET) |
Академические | |
IEC 61131-3 |
Instruction List • ST • FBD • Ladder Diagram (LD) • SFC |
Прочие | |
Эзотерические | |
Визуальные |
MobileBASIC.