Forum OpenACS Q&A: Re: ]project-open[: Current thinking about AJAX, Sencha and AOLserver

Hello everyone, I bump this old thread to share my opinion as it is quite strong and this is an important matter in nowadays Web.

I do think as you that client-side Ajax and REST webservices on the server side is the way to go for the web (and most of general purpose applications too, maybe), but I would definitely not strive to get rid of Tcl instead of PHP. Rather the countrary.

I find Tcl much more suitable to web development, in particular for its string manipulation capabilities and funcional-style features, such as executing a string as a piece of code in a very simple way.

Plus, OpenAcs is a perfect structure for developing webservices: cleanest interaction with db ever, auto-sanitizing of strings in queries, clean definition and checking of allowed page query variables, a clean and simple filesystem API, the adp templating system... And all this stays true even throwing away all of the HTML user interface features.

Programs in Tcl/OpenAcs are shorter and clearer, and all the Tcl you will ever use is in 12 short webpages... the rest is in the specific api-doc page which is auto-generated each procedure you declare.

The plus of PHP is... the user base.

Speaking about ExtJs: it is a very powerful tool, but I personally don't like it. I understand this is all a matter of taste, but I don't like frameworks which are too structured, because they always end getting in my way. While it certainly tries to hide and encapsulate everything, I found myself (and most of the people on the forums, even Sencha's) wrestling with the framework, with very unelegant results. Also, as we can see with ajax-filestorage package here on OpenAcs which is no longer functioning on modern browsers, you cannot rely on it on the long term, and this because it is a very complex and unstable library (in the sense of features, not plain bugs).

JQuery and it's extensions, make a more light and elegant, yet powerful choice. It is agnostic respect to your development style, saves you lines of code without really telling you how you should get things done, and can be engineered at will if you so desire.

A lot of strong opinions here. I want to make clear that all of this products are free software which I used and used to love, so I didn't mean to be disrespectful. This is just my technical opinion. If somebody would like to bring his/her point of view I would gladly discuss about it.