ݺߣ

ݺߣShare a Scribd company logo
Как не наступить на
грабли, внедряя скрипты
в java приложение
Это грабли
Когда ваше приложение требует
динамичности
Как не наступить на грабли, внедряя скрипты в java приложение
Исполняем код динамически
JSR 199: Java Compiler API
JSR 199: Java Compiler API
Javassist
Groovy
Why Groovy?
 Синтаксический сахар
 Динамичность
 Простота интеграции
 Java код – валидный groovy код
 Просто построить DSL
DSL
A domain-specific language (DSL) is a
computer language specialized to a particular
application domain
Groovy in 5 minutes
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
JSR 223: Scripting for the Java
Platform
The specification will describe mechanisms
allowing scripting language programs to
access information developed in the Java
Platform and allowing scripting language
pages to be used in Java Server-side
Applications.
JSR 223: Scripting for the Java
Platform
Пишем ScriptService
Как не наступить на грабли, внедряя скрипты в java приложение
Мы несем ответственность за
свой API
Правила проектирования
скриптового API
1. Обратная совместимость
Правила проектирования
скриптового API
1. Обратная совместимость
2. Документация
Правила проектирования
скриптового API
1. Обратная совместимость
2. Документация
3. Immutable объекты в контексте с
информацией +
Stateless сервисы взаимодействия
Как написать хороший скрипт
1. Шапка скрипта
Как написать хороший скрипт
1. Шапка скрипта
2. Логирование
Как написать хороший скрипт
1. Шапка скрипта
2. Логирование
3. Используйте преимущества Groovy
Как не наступить на грабли, внедряя скрипты в java приложение
Groovy IDE
1. Groovy Eclipse Plugin
2. IntelliJ IDEA
Как не наступить на грабли, внедряя скрипты в java приложение
CodeMirror
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
DSLD
DSLD
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
“CodeNarc analyzes Groovy code for
defects, bad practices, inconsistencies,
style issues and more”
Как не наступить на грабли, внедряя скрипты в java приложение
CI для скриптов
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
Я только запустил скрипт
@TimedInterrupt
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
@ThreadInterrupt
@ConditionalInterrupt
@ConditionalInterrupt
ImportCustomizer
SecureASTCustomizer
Как не наступить на грабли, внедряя скрипты в java приложение
Как не наступить на грабли, внедряя скрипты в java приложение
Спасибо за внимание

More Related Content

Как не наступить на грабли, внедряя скрипты в java приложение