LiveCode (ранее Revolution и MetaCard [3] ) — это кроссплатформенная [4] система быстрой разработки приложений, вдохновленная HyperCard . Она использует язык программирования LiveCode Script (ранее MetaTalk), который принадлежит к семейству языков сценариев xTalk , как HyperTalk от HyperCard . [5] [6]
Среда была представлена в 2001 году. [7] Система разработки «Revolution» была основана на технологии движка MetaCard , которую Runtime Revolution позже приобрела у MetaCard Corporation в 2003 году. [8] [9] Платформа выиграла ежегодную премию Macworld Editor's Choice Award в номинации «Лучшее программное обеспечение для разработки» в 2004 году. [10] Осенью 2010 года «Revolution» была переименована в «LiveCode». «LiveCode» разрабатывается и продается компанией Runtime Revolution Ltd., базирующейся в Эдинбурге, Шотландия. В марте 2015 года компания была переименована в «LiveCode Ltd.», чтобы объединить название компании с продуктом. В апреле 2013 года после успешной краудфандинговой кампании на Kickstarter была опубликована бесплатная/открытая версия «LiveCode Community Edition 6.0» . [11] Кодовая база была повторно лицензирована и стала доступна как бесплатное программное обеспечение с открытым исходным кодом с версией в апреле 2013 года.
LiveCode работает на iOS , Android , OS X , Windows 95 через Windows 10 , Raspberry Pi и нескольких вариациях Unix, включая Linux, Solaris и BSD. Его можно использовать для мобильных, настольных и серверных/CGI-приложений. Версия для iOS (iPhone и iPad) была выпущена в декабре 2010 года. [12] [13] Первая версия, развернутая в Интернете, была выпущена в 2009 году. [14] Это наиболее широко используемый клон HyperCard/HyperTalk, [ требуется ссылка ] и единственный, который работает на всех основных операционных системах.
Разработчик релиза v.8 был анонсирован в Нью-Йорке 12 марта 2015 года. Это крупное улучшение продукта включает новый, отдельный язык разработки, известный как "LiveCode Builder", который способен создавать новые классы объектов, называемые "виджетами". В более ранних версиях набор классов объектов был фиксированным и мог быть улучшен только с помощью обычных процедурных языков, таких как C. Новый язык, который работает в своей собственной IDE , является отходом от переходной парадигмы x-talk, поскольку он позволяет вводить переменные. Но две среды полностью интегрированы, и за исключением возможности создания новых объектов, разработка в LiveCode продолжается обычным образом, в рамках установленной IDE.
Вторая краудфандинговая кампания по внедрению HTML5 в LiveCode достигла цели по финансированию в размере почти 400 000 долларов США 31 июля 2014 года. Версия LiveCode для разработчиков 8.0 DP4 (31 августа 2015 года) стала первой, включающей возможность автономного развертывания в HTML5 .
31 августа 2021 года, начиная с версии 9.6.4, выпуск LiveCode Community, лицензированный по лицензии GPL , был прекращен. [2]
Программное обеспечение LiveCode создает приложения, которые работают во многих поддерживаемых средах, используя рабочий процесс без компиляции. Один и тот же компьютерный код в LiveCode может воспроизводиться на нескольких устройствах и платформах. LiveCode использует высокоуровневый язык программирования, похожий на английский, называемый Transcript, который динамически типизирован. Рабочий процесс без Transcript и компиляции генерирует код, который является самодокументируемым и простым для понимания обычными программистами. Например, если следующий скрипт был выполнен, когда системные часы показывали 9:00:00 утра:
повторить десять раз поместите "Hello world at " && длинное время и возврат после поля 1 подождите 1 секунду конец повтора
Десять строк будут загружены в первое текстовое поле (обозначенное как «поле 1») и будут отображаться как:
Привет, мир, в 9:00:00 утраПривет, мир в 9:00:01 утраПривет, мир в 9:00:02 утра...
Примечания:
repeat
(и связанный с ним end repeat
) — это структура управления, проиллюстрированная здесь лишь в одной из ее различных форм.put
это команда"Hello World at"
это буквальныйthe long time
это функция, которая вызывает системное времяreturn
константа, равная символу ASCII 10 (перевод строки)after
— ключевое слово, которое используется в системе, известной как «разбиение на фрагменты», отличительной черте языков xTalk.field 1
является ссылкой на объект, здесь обозначенной номером слоя текстового поля. Поддерживаются почти все стандартные классы объектов, и на них можно ссылаться несколькими, весьма интуитивными способами.Синтаксис LiveCode, похожий на естественный английский, прост в изучении для новичков. Переменные не имеют типов и типизируются во время компиляции исключительно на основе контекста. Это делает язык простым для чтения и поддержки с относительно минимальной потерей скорости. Язык содержит расширенные функции, включая ассоциативные массивы , [15] регулярные выражения , мультимедиа, поддержку различных баз данных SQL и библиотек TCP/IP . Движок LiveCode поддерживает несколько распространенных форматов изображений (включая BMP, PNG, GIF и JPEG), сглаженную векторную графику, текстовые гиперссылки в стиле HTML, цепочечные поведения и встроенные веб-браузеры. Доступ к этим функциям более высокого уровня разработан так, чтобы быть простым.
поместите URL "http://www.wikipedia.com" в MyVariable
поместите URL "binfile:picture.jpg" в URL "ftp://john:[email protected]:2121/picture.jpg"
LiveCode имеет около 2950 встроенных языковых терминов и ключевых слов, которые могут быть расширены внешними библиотеками, написанными на C и других языках более низкого уровня. [16] [17]
Файлы проекта LiveCode являются двоично-совместимыми между платформами. Они наследуют внешний вид и поведение каждой платформы. Кнопки, полосы прокрутки, индикаторы выполнения и меню ведут себя ожидаемым образом на целевой платформе без какого-либо вмешательства со стороны автора приложения LiveCode.
Компиляция LiveCode "отдельно" создает один исполняемый файл (минимальный размер ~1,5 МБ) для каждой целевой платформы. Отдельная среда выполнения не требуется.
Статья в Википедии о HyperCard содержит более подробное обсуждение основ подобной среды разработки и языка сценариев. Современный LiveCode представляет собой обширное расширение прежнего HyperCard, но при этом сохраняет свою простоту. LiveCode включает ряд функций, отсутствующих в оригинальной программе HyperCard, включая развертывание на нескольких платформах, связь с внешними устройствами и множество фундаментальных языковых расширений. Набор инструментов LiveCode, по сравнению с HyperCard, имеет возможность доступа к текстовым и медиаресурсам в Интернете, что позволяет создавать настольные приложения с поддержкой Интернета. [18]
В некоторых версиях доступны целевые платформы iOS и Android.
Примечание: Полные требования к Linux для версий 4.5.x-6.x следующие:
Поэтому в настоящее время мы приняли решение прекратить поддержку версий LiveCode с открытым исходным кодом. Конечно, вы можете продолжать использовать существующие версии с открытым исходным кодом, и код останется видимым на github для просмотра. Проект больше не будет принимать взносы, и мы не будем поддерживать его или предлагать загрузки с открытым исходным кодом на нашем сайте.
Revolution ... вырастает из HyperCard, горячо любимого и широко используемого продукта Apple Computer, от которого компания отказалась несколько лет назад...
HyperCard, с его метафорой стеков, обзавелся новым наследником в Revolution Studio 2.1 от Runtime Revolution
К счастью, Runtime Revolution предоставляет комплект разработки программного обеспечения (SDK) для написания подключаемых модулей Revolution, и это делает написание нашего подключаемого модуля простым.
{{cite web}}
: CS1 maint: архивная копия как заголовок ( ссылка )