BSP Meet your AJAX Framework: AJS
If you always wished you could make cool looking “Web 2.0” applications in SAP, but were always held up by the fear of writing mounds of JavaScript, today is your lucky day. Today I am making available a framework, called ABAP JavaScript or AJS for the TLA inclined, to easily develop applications that use AJAX type updating and visual effects straight from BSPs. Released as always, under the GPL — free as in freedom.
The basis of this “framework” is Ruby on Rails and it’s RJS templates. The basic idea being the ability to send javascript back and forth between the rendered web page and the server.
The best part is, it’s really easy to use, simply subclass my new Controller and call some “helper” methods and you have access to both the Prototype and script.aculo.us libraries.
For a cursory explanation and example of how it works and what it can do, just watch the movie, it’s about 10 mins.
If you want to help out with the project and/or download the nugget for installation got to the ABAPJS project page.
Big thanks to the Prototype, script.aculo.us and the Ruby on Rails developers as all this work simply follows in there sufficiently large footsteps.
This is only a beta version of the framework, most of it is done, however, some of the helpers are missing. If there is interest I ( or someone in the community, hint hint ) will finish the rest of the helper methods and the remaining script.aculo.us controls.
Awesome video! And awesome framework! It's nice to see a quality blog again -;)
Greetings,
Blag.
-d
You really should work for a graphics arts company. That artwork is something else:)
I was thinking about this very thing not so long ago and glad that someone has done it.
Cheers,
Nigel
If you want to get involved let me know so we can be sure to coordinate any efforts.
-d
-d
Raja
anyone? anyone? Bueller?….
I am installing this right now, but as per the installation guide, i am suppose to load the application.js (from scriptaculous-js-1.7.0) into the MIME repository. But i dont find it in the download. Am i doing something wrong?
Thanks in advance.
Regards
Raja
We initially used this with an older version of script.aculo.us, so application.js may no longer be required. Please try it without and let me know if it works or not so I can update the documentation.
Thanks for the heads up!
ewH
Raja
It will be interesting to see how the framework will be adopted. Perhaps a SAP certification or official approval of the product would help?
An SAP certification would probably increase usage, but it seems that their focus is mostly on ABAP web dynpro these days instead of BSP development.
Besides, I think Thomas Jung Trying out AJS and giving it the OK, is way better than any official approval. =)
Thanks for the comments,
ewH
my comment may be of topic but did you ever looked at http://jquery.com/? IMHO a very nice JS library and "alternative" to prototype.
The library is GPL and MIT licensed.
Regards
Roger
We used prototype because of it's usage in Rails, and we were trying to make something for ABAP that would be consistent with RJS (Ruby JavaScript). We have been using Rails quite a bit lately, so it's nice to be able to switch back and forth easily, but I would be interested in hearing more about your likes and dislikes of JQuery.
Cheers,
ewH
Actually I just started to use the library but some of their arguments are:
- Small footprint (19kb)
- CSS3 compliant
- Fast
- OpenAjax complient (http://www.openajax.org/)
- Chainable
- Easy plugin development and support
BTW There is also a JQuery on Rails project on its way.
As I said I just started to find my way through the whole Prototype, Script.aculo.us, Moo, JQuery, YUT, and so on stuff and I found JQuery to be more logic and easy to learn/understand than other libraries.
Cheers,
Roger
If JQuery ends up being the better choice, we would be willing to join forces and switch over our support. So Roger, when can we expect to see the alpha release of JQuery for ABAP? =)
Cheers,
ewH
I think the path you've provided in the Installation Instructions for the MIME Repository should not be /sap/bc/bsp/sap/public/bc/bsp/ajs/ it should be /sap/public/bc/bsp/ajs/, when you start in the SAP Namespace.
Regards
Gregor