Download No Slide Title

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Scripting languages in
Java
Andrey Duka, System Architect
[email protected]
Java != Java platform
2
Agile Web Development with Java
3
Хорошее определение
“A scripting language is a form of
programming language that is usually
interpreted rather than compiled”
- whatis.com
4
Groovy, Ruby, Python, PHP
5
Немного исторической информации
1997 - Jim Hugunin created Jython
2000 - «BeanShell and Dynamic Java» Patrick Niemeyer
2001 - Jan Arne Petersen created JRuby
2004 - JSR 241: Groovy programming language
2005 - Sun releases alpha of Coyote
2006 - JSR 223: Scripting for the JavaTM Platform
2007 - Groovy 1.0
2008 - Grails 1.0
6
Небольшой список языков
BeanShell Frink
Groovy
Hecl
Jacl JavaScript Jelly
Joy Jruby Judoscript Jython
JavaFX Script ObjectScript Pnuts Scala
Sleep V
7
Yoix
Чудесная цитата
“All configuration files eventually
become programming languages…”
- James Gosling
8
XML пример
groovy.xml.MarkupBuilder
def myXMLDoc = new MarkupBuilder()
myXMLDoc.workbook {
worksheet(caption:"Employees") {
row(fname:"John", lname:"McDoe")
row(fname:"Nancy", lname:"Davolio")
}
worksheet(caption:"Products") {
row(name:"Veeblefeetzer", id:"sku34510")
row(name:"Prune Unit Zappa", id:"sku3a550")
}
}
println myXMLDocuages
9
Нельзя не упомянуть
DSL
10
Ещё одно определение
“A Domain Specific Language (DSL) is a
computer programming language of limited
expressiveness focused on a particular
domain.”
- Martin Fowler
11
DSL пример / красота
write 'readme.txt'.contents()
12
DSL пример (продолжение)
String.metaClass.contents = {
this.class.getResourceAsStream(delegate).getText()
}
def write = { file ->
println file
}
write 'readme.txt'.contents()
13
Примеры повседневного использования
•
•
•
•
BEA Weblogic – wslt
IBM WebSphere – wsadmin
Eclipse – GroovyMonkey
JavaFX - JavaFX Script
14
Web разработка & GRails
“For me, Grails is the natural next step for Java EE developers. If Spring
and Hibernate provided an abstraction over Java EE and simplified
development, then Grails is an abstraction over Spring, Hibernate,
and Java EE that can take you, the developer, to the next level.”
- Christopher M. Judd, Judd Solutions
15
Сколько строчек кода?
Вопрос: сколько строчек кода/конфигурционных файлов
нужно чтобы сделать on-line менеджер списка задач?
50, 100, 500 ?
16
Ответ
38
17
Очень полезные ссылки
PROS vs. CONS
18
Помните
19
Очень полезные ссылки
•
•
•
•
•
•
•
https://scripting.dev.java.net/
JSR 223: Scripting for the JavaTM Platform
JSR 241: The Groovy Programming Language
Bean Scripting Framework
http://grails.org
http://groovy.codehaus.org
http://jruby.codehaus.org
20
21
Related documents