scripting languages in java andrey duka , system architect andrey.duka@exigenservices

Post on 19-Jan-2016

44 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Scripting languages in Java Andrey Duka , System Architect andrey.duka@exigenservices.com. Java != Java platform. Agile Web Development with Java. Хорошее определение. “A scripting language is a form of programming language that is usually interpreted rather than compiled” - whatis.com. - PowerPoint PPT Presentation

TRANSCRIPT

Scripting languages in Java

Andrey Duka, System Architectandrey.duka@exigenservices.com

Scripting languages in Java

Andrey Duka, System Architectandrey.duka@exigenservices.com

2

Java != Java platform

3

Agile Web Development with Java

4

Хорошее определениеХорошее определение

“A scripting language is a form of programming language that is usually

interpreted rather than compiled”

- whatis.com

5

Groovy, Ruby, Python, PHP

6

Немного исторической информации Немного исторической информации

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

7

Небольшой список языковНебольшой список языков

BeanShell Frink Groovy Hecl

Jacl JavaScript Jelly

Joy Jruby Judoscript Jython

JavaFX Script ObjectScript Pnuts Scala

Sleep V Yoix

8

Чудесная цитатаЧудесная цитата

“All configuration files eventually become programming languages…”

- James Gosling

9

XML пример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

10

Нельзя не упомянутьНельзя не упомянуть

DSL

11

Ещё одно определениеЕщё одно определение

“A Domain Specific Language (DSL) is a computer programming language of limited

expressiveness focused on a particular domain.”

- Martin Fowler

12

DSL пример / красотаDSL пример / красота

write 'readme.txt'.contents()

13

DSL пример (продолжение)DSL пример (продолжение)

String.metaClass.contents = {this.class.getResourceAsStream(delegate).getText()

}

def write = { file ->println file

}

write 'readme.txt'.contents()

14

Примеры повседневного использованияПримеры повседневного использования

• BEA Weblogic – wslt• IBM WebSphere – wsadmin• Eclipse – GroovyMonkey• JavaFX - JavaFX Script

15

Web разработка & GRailsWeb разработка & 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

16

Сколько строчек кода?Сколько строчек кода?

Вопрос: сколько строчек кода/конфигурционных файлов нужно чтобы сделать on-line менеджер списка задач?

50, 100, 500 ?

17

ОтветОтвет

38

18

Очень полезные ссылкиОчень полезные ссылки

PROS vs. CONS

19

ПомнитеПомните

20

Очень полезные ссылкиОчень полезные ссылки

• 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

21

top related