20091226 名古屋SGGAE/J勉強会発表資料『Lift on GAE/J』

  • 1,452 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,452
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
8
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Lift on GAE/J Get Lift on Google App Engine for Java. - KITAMURA Ryo 2009/12/26(Fri.)
  • 2. Self-Introduce ● KITAMURA Ryo(@RKTM) ● Wake up in Mie ● Work at Nagoya ● Programmer ● Ruby!!! Scala!! – VB6, VB.NET, ASP.NET
  • 3. Self-Introduce ● Love ● Trekking
  • 4. Self-Introduce ● Love ● Photography
  • 5. Talk about ... ● What's Scala? ● What's Lift? ● What's Google App Engine for Java(GAE/J)? ● How to get Lift on GAE/J ● Any Question?
  • 6. What's Scala? ● Scala ● Is a general purpose programming language. ● stands for "scalable language” – is designed to grow with the demands of its users.
  • 7. What's Scala? ● Scala ● Runs on Java VM. – You can call Scala from Java – and you can call Java from Scala. ● whose compiler produces – byte code that performs every bit as good as comparable Java code.
  • 8. What's Scala? ● James Gosling: ● "Which Programming Language would you use *now* on top of JVM, except Java?" ● James Gosling:”Scala.” ● http://www.adam- bien.com/roller/abien/entry/java_net_javaone_ which_programming
  • 9. What's Scala? ● James Strachan: ● “I can honestly say if someone had shown me the Programming in Scala book by by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I'd probably have never created Groovy.” ● http://macstrac.blogspot.com/2009/04/scala- as-long-term-replacement-for.html
  • 10. What's Scala? ● Charles Nutter: – “Scala, it must be stated, is the current heir apparent to the Java throne. No other language on the JVM seems as capable of being a "replacement for Java" as Scala.” – http://blog.headius.com/2009/04/future- part-one.html
  • 11. What's Scala? ● Scala ● Is a pure object-oriented language. – Type inference – Static typing – Every value is an object. val a = 12345 a.toString
  • 12. What's Scala? ● Scala ● Is a pure object-oriented language. – Classes and traits. – Extend by subclassing and mixin- based composition.
  • 13. What's Scala? ● Scala ● Is functional. – Every function is a value. val func = (x : Int) => x + 1 func(1)
  • 14. What's Scala? ● Scala ● Is functional. – Higher-order functions – Nesting functions – Currying
  • 15. What's Scala? ● Scala ● Is functional. – Case classes and built-in support for pattern matching – Built-in support for XML processing!
  • 16. What's Scala? ● XML Sample val html = <html><head>foo</head> <body>hoge</body></html> println(html)
  • 17. Sir, More Scala, Sir!! Join “Nagoya Scala”!! http://groups.google.co.jp/group/NagoyaScala
  • 18. What's Scala? ● More Info For Scala Beginners – http://www.impressjapan.jp/boo ks/2745 – http://github.com/yuroyoro/scal a-hackathon – http://itpro.nikkeibp.co.jp/articl e/COLUMN/20080613/307981/ ?ST=develop
  • 19. What's Lift? ● Lift ● Scala-based Web App F/W. ● has cherry-picked the best ideas from a number of other frameworks, ● while creating some novel ideas of its own.
  • 20. What's Lift? ● Lift ● Full stack – AP Srv, ORM ● Convention over Configuration ● MVC ● template system like Wicket – built on the XML processing capabilities of Scala
  • 21. What's Lift? ● Lift ● Runs on Java VM. – Many Java libraries ● Powerful support for – AJAX – Commet
  • 22. What's Lift? ● More Info about Lift – http://codezine.jp/article/detail /4310 – http://codezine.jp/article/detail /4512
  • 23. GAE/J? ● What is Google App Engine? ● What is Google App Engine for Java?
  • 24. GAE/J? ● Tantack did it! –I guess :)
  • 25. Get Lift on GAE/J ● * Skip installing. ● Development environment ● Windows XP SP3 ● Java version: 1.6.0_14 ● Apache maven: 2.2.0 ● Scala 2.7.7 final ● Appengine SDK: 1.3.0
  • 26. Get Lift on GAE/J ● maven mvn archetype:generate -U -DarchetypeGroupId=net.liftweb -DarchetypeArtifactId=lift-archetype- blank -DarchetypeVersion=1.1-SNAPSHOT -DremoteRepositories=http://scala- tools.org/repo-snapshots -DgroupId=com.mylift -DartifactId=liftgaej
  • 27. Get Lift on GAE/J ● Create – src/main/webapp/WEB- INF/appengine-web.xml
  • 28. Get Lift on GAE/J ● appengine-web.xml <?xml version="1.0" encoding="utf-8"?> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> <application>liftgaej</application> <version>1</version> <system-properties> <property name="in.gae.j" value="true" /> </system-properties> <sessions-enabled>true</sessions-enabled> <static-files> <exclude path="/**" /> </static-files> </appengine-web-app>
  • 29. Get Lift on GAE/J ● compile mvn package
  • 30. Get Lift on GAE/J ● Run on local machine [SDK dir]dev_appserver.cmd target/liftgaej-1.0-SNAPSHOT
  • 31. Get Lift on GAE/J ● Deploy! [SDK dir]appcfg.cmd update target/liftgaej-1.0-SNAPSHOT
  • 32. Get Lift on GAE/J ● Datastore? ● JPA sample: ● http://github.com/ymnk/lift-gae-jpa ● JDO sample: ● http://github.com/ymnk/lift-gae-jdo * I haven't tried them : (
  • 33. References ● Scala – http://www.scala-lang.org/ – http://dl.dropbox.com/u/261418 /scala-hackathon/index.html ● Lift – http://www.liftweb.com/ – http://groups.google.com/group/ the-lift-book/files
  • 34. References ● Lift on GAE/J – http://d.hatena.ne.jp/yuroyoro/ 20090701/1246448458
  • 35. Q? ● Do you have any Questions?
  • 36. Done! ● Thank you! ● Join “ Nagoya Scala” ● @2010/01/22(Fri.)