SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Пользовательская автоматизация
профессиональных веб-приложений
на Lua
Александр Гладыш
@agladysh
Lua in Moscow
Сентябрь 2016
1 / 19
Профессиональные приложения
Профессиональное приложение:
Для профессионалов, глубоко владеющих предметной областью
Которые в большинстве своём не айтишники
Примеры:
CAD’ы
Приложения для управления бизнес-логикой "больших"систем
Бэкофисы сложных проектов
и так далее
2 / 19
Конкретика
ТАИС разрабатывает профессиональное ПО для гражданской авиации
Глубокая и обширная предметная область с длинной историей
Требует профессионального обучения пользователей
3 / 19
Пользовательский интерфейс предыдущего поколения
4 / 19
Перспективный пользовательский интерфейс
5 / 19
Многослойная система
Клиент
REST-сервер
Легаси SOAP-процессор
CRS
Внешние системы
6 / 19
Поток сообщений
Пользовательская команда
Запрос REST
Запрос SOAP
...
Запросы ко внешним системам
7 / 19
Задачи
Автоматизация редких но сложных операций пользователя-эксперта
В дальнейшем — удобное API для более широкого круга пользователей
8 / 19
Почему макросы на клиенте?
Запускать код пользователя на сервере — головная боль
Особенно если уже есть система пользовательских команд
Даже если её нет — у вас же есть серверное HTTP-API, правда?
9 / 19
Почему Lua?
JavaScript тяжело изолировать от "кишок"проекта
Lua легко изолировать
Сам факт использования другого языка делает дизайн API чище
Lua легче освоить непрограммистами
10 / 19
Внешний вид: редактор скриптов
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 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
Что дальше?
Технически — Lua в браузере отлично работает и выполняет свои
задачи.
Главное — это удобство использования, а это уже вопрос дизайна API.
17 / 19
Вопросы?
Alexander Gladysh
@agladysh
18 / 19

Mais conteúdo relacionado

Destaque (19)

Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Capturas para CamStudio
Capturas para CamStudioCapturas para CamStudio
Capturas para CamStudio
 
Learning in the 21st century a national report of online learning
Learning in the 21st century a national report of online learningLearning in the 21st century a national report of online learning
Learning in the 21st century a national report of online learning
 
euroCRIS DSpace-CRIS presentation at #CRIS2014 conference
euroCRIS DSpace-CRIS presentation at #CRIS2014 conferenceeuroCRIS DSpace-CRIS presentation at #CRIS2014 conference
euroCRIS DSpace-CRIS presentation at #CRIS2014 conference
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Meet Christian Farioli
Meet Christian FarioliMeet Christian Farioli
Meet Christian Farioli
 
Ampower Corporate Presentation
Ampower Corporate PresentationAmpower Corporate Presentation
Ampower Corporate Presentation
 
Наш подход
Наш подходНаш подход
Наш подход
 
La sagesse du web
La sagesse du web La sagesse du web
La sagesse du web
 
Diakonia 127
Diakonia 127Diakonia 127
Diakonia 127
 
Sonex Pecha Kucha at RepoFringe2010
Sonex Pecha Kucha at RepoFringe2010Sonex Pecha Kucha at RepoFringe2010
Sonex Pecha Kucha at RepoFringe2010
 
Partner Training: Starting a Nonprofit
Partner Training: Starting a NonprofitPartner Training: Starting a Nonprofit
Partner Training: Starting a Nonprofit
 
Learning studio
Learning studioLearning studio
Learning studio
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Apresentação comercial Nexx Inn
Apresentação comercial Nexx InnApresentação comercial Nexx Inn
Apresentação comercial Nexx Inn
 
ABA Information- and Communications Technologies in Austria
ABA Information- and Communications Technologies in AustriaABA Information- and Communications Technologies in Austria
ABA Information- and Communications Technologies in Austria
 
UKRepNet presentation at Pure UK User Group Meeting Dundee
UKRepNet presentation at Pure UK User Group Meeting DundeeUKRepNet presentation at Pure UK User Group Meeting Dundee
UKRepNet presentation at Pure UK User Group Meeting Dundee
 
SGF15--e-Poster-Shevrin-3273
SGF15--e-Poster-Shevrin-3273SGF15--e-Poster-Shevrin-3273
SGF15--e-Poster-Shevrin-3273
 

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

Open source infrastructure
Open source infrastructureOpen source infrastructure
Open source infrastructureAlexei Fedotov
 
Hivext – облачная платформа для быстрой разработки интернет приложений
Hivext – облачная платформа для быстрой разработки  интернет приложений Hivext – облачная платформа для быстрой разработки  интернет приложений
Hivext – облачная платформа для быстрой разработки интернет приложений guest800050
 
Lotus Forum 2009 Websphere Portal 6.1
Lotus Forum 2009 Websphere Portal 6.1Lotus Forum 2009 Websphere Portal 6.1
Lotus Forum 2009 Websphere Portal 6.1guestcaef82
 
Что должен уметь Linux программист
Что должен уметь Linux программистЧто должен уметь Linux программист
Что должен уметь Linux программистru_Parallels
 
It решение для малого бизнеса
It решение для малого бизнесаIt решение для малого бизнеса
It решение для малого бизнесаDen Go
 
It решение для малого бизнеса
It решение для малого бизнесаIt решение для малого бизнеса
It решение для малого бизнесаDen Go
 
XML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHP
XML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHPXML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHP
XML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHPrglab
 
Облачные вычисления и сервисы: классификация, основные функции и недостатки
Облачные вычисления и сервисы: классификация, основные функции и недостаткиОблачные вычисления и сервисы: классификация, основные функции и недостатки
Облачные вычисления и сервисы: классификация, основные функции и недостаткиТранслируем.бел
 
Платформа "1С:Предприятие 8.3" — основа современной ИТ-архитектуры для корпор...
Платформа "1С:Предприятие 8.3" — основа современной ИТ-архитектуры для корпор...Платформа "1С:Предприятие 8.3" — основа современной ИТ-архитектуры для корпор...
Платформа "1С:Предприятие 8.3" — основа современной ИТ-архитектуры для корпор...Investec
 
It решение для малого бизнеса
It решение для малого бизнесаIt решение для малого бизнеса
It решение для малого бизнесаDen Go
 
01.Основные концепции
01.Основные концепции01.Основные концепции
01.Основные концепцииAlexander Babich
 
CMS как SaaS. Российские реалии
CMS как SaaS. Российские реалииCMS как SaaS. Российские реалии
CMS как SaaS. Российские реалииMedia Gorod
 
Три истории микросервисов / Игорь Беспальчук (CUSTIS)
Три истории микросервисов / Игорь Беспальчук (CUSTIS)Три истории микросервисов / Игорь Беспальчук (CUSTIS)
Три истории микросервисов / Игорь Беспальчук (CUSTIS)Ontico
 
Opensource оптимизация инфраструктурных затрат
Opensource оптимизация инфраструктурных затратOpensource оптимизация инфраструктурных затрат
Opensource оптимизация инфраструктурных затратКРОК
 
облачные вычисления и сервисы
облачные вычисления и сервисыоблачные вычисления и сервисы
облачные вычисления и сервисыValeriya Kulikova
 
СЭД, которой можно доверять
СЭД, которой можно доверятьСЭД, которой можно доверять
СЭД, которой можно доверятьИнтерТраст
 

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

Open source infrastructure
Open source infrastructureOpen source infrastructure
Open source infrastructure
 
Hivext 04.2010
Hivext 04.2010Hivext 04.2010
Hivext 04.2010
 
Hivext – облачная платформа для быстрой разработки интернет приложений
Hivext – облачная платформа для быстрой разработки  интернет приложений Hivext – облачная платформа для быстрой разработки  интернет приложений
Hivext – облачная платформа для быстрой разработки интернет приложений
 
Lotus Forum 2009 Websphere Portal 6.1
Lotus Forum 2009 Websphere Portal 6.1Lotus Forum 2009 Websphere Portal 6.1
Lotus Forum 2009 Websphere Portal 6.1
 
Что должен уметь Linux программист
Что должен уметь Linux программистЧто должен уметь Linux программист
Что должен уметь Linux программист
 
Ms it cup bruce-aams
Ms it cup bruce-aamsMs it cup bruce-aams
Ms it cup bruce-aams
 
It решение для малого бизнеса
It решение для малого бизнесаIt решение для малого бизнеса
It решение для малого бизнеса
 
It решение для малого бизнеса
It решение для малого бизнесаIt решение для малого бизнеса
It решение для малого бизнеса
 
XML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHP
XML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHPXML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHP
XML Sapiens как универсальная концепция сайтостроения в разрезе XML/PHP
 
Облачные вычисления и сервисы: классификация, основные функции и недостатки
Облачные вычисления и сервисы: классификация, основные функции и недостаткиОблачные вычисления и сервисы: классификация, основные функции и недостатки
Облачные вычисления и сервисы: классификация, основные функции и недостатки
 
Платформа "1С:Предприятие 8.3" — основа современной ИТ-архитектуры для корпор...
Платформа "1С:Предприятие 8.3" — основа современной ИТ-архитектуры для корпор...Платформа "1С:Предприятие 8.3" — основа современной ИТ-архитектуры для корпор...
Платформа "1С:Предприятие 8.3" — основа современной ИТ-архитектуры для корпор...
 
[Add 4] crossplatform .net
[Add 4] crossplatform .net[Add 4] crossplatform .net
[Add 4] crossplatform .net
 
Ms it cup common sense-маек
Ms it cup common sense-маекMs it cup common sense-маек
Ms it cup common sense-маек
 
It решение для малого бизнеса
It решение для малого бизнесаIt решение для малого бизнеса
It решение для малого бизнеса
 
01.Основные концепции
01.Основные концепции01.Основные концепции
01.Основные концепции
 
CMS как SaaS. Российские реалии
CMS как SaaS. Российские реалииCMS как SaaS. Российские реалии
CMS как SaaS. Российские реалии
 
Три истории микросервисов / Игорь Беспальчук (CUSTIS)
Три истории микросервисов / Игорь Беспальчук (CUSTIS)Три истории микросервисов / Игорь Беспальчук (CUSTIS)
Три истории микросервисов / Игорь Беспальчук (CUSTIS)
 
Opensource оптимизация инфраструктурных затрат
Opensource оптимизация инфраструктурных затратOpensource оптимизация инфраструктурных затрат
Opensource оптимизация инфраструктурных затрат
 
облачные вычисления и сервисы
облачные вычисления и сервисыоблачные вычисления и сервисы
облачные вычисления и сервисы
 
СЭД, которой можно доверять
СЭД, которой можно доверятьСЭД, которой можно доверять
СЭД, которой можно доверять
 

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