Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Пользовательская автоматизация
профессиональных веб-приложений
на Lua
Александр Гладыш
@agladysh
Lua in Moscow
Сентябрь 20...
Профессиональные приложения
Профессиональное приложение:
Для профессионалов, глубоко владеющих предметной областью
Которые...
Конкретика
ТАИС разрабатывает профессиональное ПО для гражданской авиации
Глубокая и обширная предметная область с длинной...
Пользовательский интерфейс предыдущего поколения
4 / 19
Перспективный пользовательский интерфейс
5 / 19
Многослойная система
Клиент
REST-сервер
Легаси SOAP-процессор
CRS
Внешние системы
6 / 19
Поток сообщений
Пользовательская команда
Запрос REST
Запрос SOAP
...
Запросы ко внешним системам
7 / 19
Задачи
Автоматизация редких но сложных операций пользователя-эксперта
В дальнейшем — удобное API для более широкого круга ...
Почему макросы на клиенте?
Запускать код пользователя на сервере — головная боль
Особенно если уже есть система пользовате...
Почему Lua?
JavaScript тяжело изолировать от "кишок"проекта
Lua легко изолировать
Сам факт использования другого языка дел...
Внешний вид: редактор скриптов
11 / 19
Внешний вид: команда
12 / 19
Внешний вид: результат выполнения
13 / 19
Lua в браузере: варианты
lua.vm.js
moonshine.js
lua5.1.js
starlight
... и многие другие.
См. также: Sailor MVC.
14 / 19
Наш стек
lua.vm.js
Маленькая самописная библиотека для VFS
ACE (brace)
webpack
15 / 19
Немного кода
var LuaVM = require(’lua.vm.js’);
var execute = function(code) { return this.lua_.execute(code); };
var provi...
Что дальше?
Технически — Lua в браузере отлично работает и выполняет свои
задачи.
Главное — это удобство использования, а ...
Вопросы?
Alexander Gladysh
@agladysh
18 / 19
Upcoming SlideShare
Loading in …5
×

Пользовательская автоматизация профессиональных веб-приложений на Lua

300 views

Published on

Сложные профессиональные приложения мигрируют из десктопа в веб. Часто в них требуется предоставить пользователю возможность автоматизировать свою работу, писать «макросы». Спикер расскажет об опыте использования Lua в качестве макроязыка для профессионального веб-приложения.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Пользовательская автоматизация профессиональных веб-приложений на Lua

  1. 1. Пользовательская автоматизация профессиональных веб-приложений на Lua Александр Гладыш @agladysh Lua in Moscow Сентябрь 2016 1 / 19
  2. 2. Профессиональные приложения Профессиональное приложение: Для профессионалов, глубоко владеющих предметной областью Которые в большинстве своём не айтишники Примеры: CAD’ы Приложения для управления бизнес-логикой "больших"систем Бэкофисы сложных проектов и так далее 2 / 19
  3. 3. Конкретика ТАИС разрабатывает профессиональное ПО для гражданской авиации Глубокая и обширная предметная область с длинной историей Требует профессионального обучения пользователей 3 / 19
  4. 4. Пользовательский интерфейс предыдущего поколения 4 / 19
  5. 5. Перспективный пользовательский интерфейс 5 / 19
  6. 6. Многослойная система Клиент REST-сервер Легаси SOAP-процессор CRS Внешние системы 6 / 19
  7. 7. Поток сообщений Пользовательская команда Запрос REST Запрос SOAP ... Запросы ко внешним системам 7 / 19
  8. 8. Задачи Автоматизация редких но сложных операций пользователя-эксперта В дальнейшем — удобное API для более широкого круга пользователей 8 / 19
  9. 9. Почему макросы на клиенте? Запускать код пользователя на сервере — головная боль Особенно если уже есть система пользовательских команд Даже если её нет — у вас же есть серверное HTTP-API, правда? 9 / 19
  10. 10. Почему Lua? JavaScript тяжело изолировать от "кишок"проекта Lua легко изолировать Сам факт использования другого языка делает дизайн API чище Lua легче освоить непрограммистами 10 / 19
  11. 11. Внешний вид: редактор скриптов 11 / 19
  12. 12. Внешний вид: команда 12 / 19
  13. 13. Внешний вид: результат выполнения 13 / 19
  14. 14. Lua в браузере: варианты lua.vm.js moonshine.js lua5.1.js starlight ... и многие другие. См. также: Sailor MVC. 14 / 19
  15. 15. Наш стек lua.vm.js Маленькая самописная библиотека для VFS ACE (brace) webpack 15 / 19
  16. 16. Немного кода var LuaVM = require(’lua.vm.js’); var execute = function(code) { return this.lua_.execute(code); }; var provideModule = function(name, value) { this.lua_._G.get("package").get("loaded").set(name, value); }; var Vm = function() { this.lua_ = new LuaVM.Lua.State(); }; Vm.prototype = { execute: execute, provideModule: provideModule, constructor: Vm }; module.exports = Vm; 16 / 19
  17. 17. Что дальше? Технически — Lua в браузере отлично работает и выполняет свои задачи. Главное — это удобство использования, а это уже вопрос дизайна API. 17 / 19
  18. 18. Вопросы? Alexander Gladysh @agladysh 18 / 19

×