Our team currently uses Java Play! in 2-projects (One project is here
grnpuayrnea.pybhqsbhaqel.pbz; URL ROT13ed as it's private). We
switched to Play! for being a RoR on Java.
But, when I recently stumbled across ActiveWeb
http://code.google.com/p/activeweb/
and Scooter
http://www.scooterframework.com/, I was so surprised that
Scooter is more RoR than any other Java frameworks. Our team is
already happy with Scooter for the built-in RoR power. Would like to
know how comparable Scooter is with Play!--on core level; I myself
using Java after 12-years and so may not be able to make effective
comparison. So, I posted the question at Play! group
https://groups.google.com/d/topic/playone/utu5OdHTQ0I/discussion and
found no answer. And so, I'm posting additional questions here. Any
comment is much appreciated. (Though we decided to use Scooter for at
least one project, looking for answers for the following questions to
be comfortable).
A. Performance questions
1. How Scooter is comparable to Play!? Play! has big community and
everyone says it better. Even a biased reply is sufficient. (But,
certainly looking for answers:-) )
2. Scooter has JSP as default view engine. But, remarks like these
http://stackoverflow.com/questions/6563861/why-play-framework-chose-groovy-for-template-engine
and
http://www.jtict.com/blog/rails-wicket-grails-play-lift-jsp/ are
against to JSP. Is JSP choice still justified? Or are you suggesting
any other view engine?
3. If JSP sucks, can we use Japid or Rhythm-that are claiming to be
fastest?
4. Play! boasts to have stateless session. What about Scooter? Which
is better if not?
5. I like ActiveRecord. But, is it secured enough? (In the context of
RoR's recent SQL injection issues
http://seclists.org/oss-sec/2012/q2/504
)
6. Does Scooter support reverse routing? If so, will it affect
performance?
7. Is it a default behavior to show SQL window for admin-even in
production mode?
8. Scooter seems to use Cache engines. Does performance depend on
these? (IOW, are Cache supports necessary?)
B. Features questions
1. When we tried some quick app in Scooter, it weighs about 17MB
whereas similar app in Play! weighs 34MB (Scooter is better). What
could be the reason?
2. Including another action-view in another view. Is there any way to
include another view, something like CakePHP's requestAction
http://book.cakephp.org/1.3/view/991/requestAction or Japid's
invoke()
http://www.playframework.org/modules/japid-0.9.3.7/
home#InvokingActionsinTemplates ?
3. Do we have any HTML form helper-possibly with jQuery live
validation support?
4. Is there any way to keep validations within models-possibly
through annotations as in
http://www.playframework.org/documentation/1.2.4/validation#objects
or
http://book.cakephp.org/1.3/view/1143/Data-Validation ? Such
separation would make the code easier to manage, IMHO.
5. Do we have any options to get clean URL for pagination?
6. How to override the templates in scaffold/code generator?
7. How to get auto CSRF/authenticity token for forms?
8. Why multiple DB or master-slave configurations can't easily be
done something like this
https://groups.google.com/group/cake-php/msg/fdff3040db8f9cf6
?
9. Do we have any equivalent for Play!'s jobs
http://www.playframework.org/documentation/1.2.4/jobs ?
10. Is it ProGuard safe? (Play! doesn't work well with it and heard
that MVC frameworks can't be ProGuarded due to naming conventions)
11. Any reason, why Ajax handling is not handled through easier and
better PJAX
http://pjax.heroku.com/ ?
12. I noticed that Scooter is using md5, instead of preferred crypt.
Can this be easily changed?
13. Is there any way to disable database connection for some
controllers-to avoid unnecessary DB connection?
14. How easy it is to add MongoDB and other database support?
C. Hosting questions
1. Why is that "Expanded directory" deployment recommended? (With PaaS
like CloudFoundry and for commercial apps, WAR seems better option)
2. When our team tried to deploy on CloudFoundry faced issue
(Unnecessary additional "/static" got prepended with all static
assets)
3. Is there any way to avoid "setenv.sh" requirement for WAR
deployment?
--
// Success = 10% sweat + 90% tears //
Email: rrjanbiah-at-Y!com Blog:
http://rajeshanbiah.blogspot.com/