The Good
- java -jar sling.jar -> http://localhost:8080 and dav://localhost:8080. This is fantastic.
- Scripting support
- REST: learn it the Sling way
- webdav-support
- A good community
- best-of-breed technologies: OSGI (with Felix), JCR (with Jackrabbit)
- JCR muscle flexing included: query, hierarchies, versioning
- semi-structured data approach
- it's fun
The Bad
Nothing bad, just great stuff with some edges:The Ugly
- Docu. Yeah I know. Is getting better, but should be more (please kill those "out of sync" pages)
- After a fast start, there still is a learning curve (OSGI, REST, JCR, Maven, ...). Since these are hot topics anyway, this is no big deal, expect when you want something fast and nownownow :)
- bootstrapping problem: despite the available help, I still did struggle with the question whether controls (scripts) or data should be created first. But this is just me, I guess :)
- JCR Editor support: Days eclipse plugin is great, but unfortunately doesn't work on my Ubuntu-system
- No out-of-the-box solution for rich applications (Except dojo, which is a beast on its own...)
update 13th Sept: The JCR Plugin for eclipse works after a fresh install, using Eclipse Ganymede and JCR Plugin version 3.6.6. Nice thing is, that Eclipse editors seem to work, e.g. when editing a HTML file. Have to check if this works with the groovy editor too ...
5 Kommentare:
Hi Chrigel,
thanks for the review. Spaghetti western style is cool.
Some comments on the "ugly" item, though:
- I do not really understand your bootstrapping problem. You can for example create an html form to fill in content by hand or get it into the repository through a script. I guess I just dont quite get the issue.
- JCR editors: afaik (but I am not sure) Day's eclipse plugin should run on Ubuntu. Could you send a bug report to me, please? There are some more listed here: http://dev.day.com/microsling/content/blogs/main/jcrtools.html
- No RIAs: well, Dojo is supported. Json is supported out-of-the-box, so many RIA frameworks should work (if the framework is not retarded, you know who I mean). What kind of support are you looking for?
Cheers
Michael
Hey Michael
Yeah, the bootstrapping problem is my personal problem, not one of Sling. I think, I got spoiled by Grails, where you can easily plug away at your model, and then, on a certain point in time , switch over to the bells&whistles of GUI programming. But yeah, not "ugly" in that sense, just an old fart trying out a new toy :)
Re RIA: You are right, JSON should be a "must-have" requirement of a modern framework. But there are other aspects like full blown REST-support which should be adoptable to Sling specifics (like file upload handling). Again, not a point against Sling, it's just that there is a rupture in ease of usage.
Are there any good REST clients written in Java?
Hi Chrigel
Thanks for the comments, I share your view that we're missing the documentation badly.
Re problem on Ubuntu - could you please share that with us? Being the Day CRX Product Manager, and using Ubuntu as my primary OS, I'm highly interested in that!
Cheers
Greg
Hi Chrigel,
regarding the model thing: in Sling you have the possibility to do "data-first", i.e. work without a strict model and just create nodes with the properties you need at that moment. In my experience this is the preferred approach. Compared to Rails/Grails there is no hard definition of a model in that case. It is just nodes with properties. More like "prototype in JS" than "class definition in OOP".
Re the file upload: file uploads into Sling are done through s aimple HTML upload form. That means if the RIA platform of choice can do that you are all set. I am aware that there are some problems in Flash with FileUploads (and cookies I believe or sthg similar). Question is if the server-side should work around this....
REST client:
http://code.google.com/p/rest-client/
(have not tried it, yet)
Kommentar veröffentlichen