Let's face it: no one want rich client anymore, if it is a Windows client. Even Microsoft. Everyone wants to access applications from iPads, Samsung tablets and integrate them with their wikis and confluence pages.
It's time to bite the bullet. Say goodbye to the bad guy. Embrace the web.
OK, web. What does it mean, exactly? ASP.NET? ASP.NET MVC? Yes, I am a Microsoft-oriented developer, cannot really think of anything else.
This is what we have today.
The topmost layer of your application server tier (here for simplicity called 'MVC') generates HTML, spits it out to the client where js libraries ensure 'progressive enhancement'.
To hell with progressive enhancement. We are talking now about full-blown enterprise application, say, ERP system, in the web. There is no progressive enhancement, if you don't have javaScript, too bad, you have no ERP.
I must admit, ASP.NET MVC does a pretty good job helping me to produce the HTML out of my C# classes. But then the fairy tale ends and we enter the gates of hell: namely, model-view-controller paradigm going along with the stateless nature of the web so well. Actions are fine, but there is no road back, it's only forward. The whole UI lifecycle is a constant movement forward, from point A to B then to C and never, never back to A.
You are on the customers list page, then you go to the next page to add a new customer, then you go to the list of customers. Not back to the list of customers, but to yet another list of customers. Drag along all your filter state, you'll never return to pick them up.
Want to save data? Postback the form. Oh, you are updating the grid? Put all your stuff in the form hidden field. No, honestly, I cannot live like this.
This is the future:
All the server calls are requests for the data, not the UI. REST is the protocol, JSON is a data format. Do I hear someone saying 'oData"?
And what do you know, we have a stateful client, in the web.
Missing piece, apparently, is a library, UI framework that could render the UI completely on the client and make the development easy. Guess what I am working on.
No comments:
Post a Comment