- ASP.NET MVC 1.0 - the new released framework which allows us to have better control on page, cleaner HTML source, nice url formatting - routing, and all this is still ASP.NET
- Symfony - a PHP framework which I will learn about, and you will obviously gonna help me with this.
- Lift - also a new 1.0 framework which is based on Scala. Scala is a object-oriented and at the same time functionnal programming language which sits on top of Virtual Machine and lets you have a scalable application using the Scala itself and the libraries from the language which it exploits. For example Scala which sits on the top of Java VM, can use java libraries in Scala by importing them, and by that we achieve an interop language with objected-oriented and functionnal paradigm at the same time. Well some day I'll post particularily about Scala. So Lift is based on Scala and with this framework we can easy create a various range of Web 2.0 sites and by that I mean Ajax/COMET, jQuery and other technologies used in Web 2.0.
- Spring - well, this framework is a widely known one. I wanted to present examples in Jakarta Struts, but I've decided that it will be better for me to learn something new, and particularily Spring. By the way, there are a lot of opinions on the Web that point us to idea that Struts has poorly implemented MVC. And that a better implementation is present in Spring. So I'm gonna give it a try.
- Model - which is data, XML, object, whatever we handle and try visualize in our applications, web pages.
- View - the presentation layer, window on the screen, our web page, UI elements which visualizes the Model. Note that we can have multiple views for a single model. We call it reusing the Model. That means that for having different views of the same data we don't need multiple tables/objects/XML tags/whatever. We can achieve we same effect using multiple Views.
- Controller - as the name says, it controls the user input, events which happened on the View side and transmits these results to the Model.
Date Event 23th of March, 2009 David's birthday 24th of March, 2009 25th of March, 20092. Now our Controller class obtains the user input and does the processing of the data, in our case it takes the name of the event and also the date out. 3. Our Controller transmits or notifies the Model about the results of his processing (in our case the name of the event and the date). Model reacts at this results in a way or another. In our case it inserts a new event into the events database. 4. The View reloads using indirectly(!) the updated Model. So, nor the Controller, neither the Model has the direct information about the View. In our case the page reloads with the event already set for that specific date. 5. The system waits for another user interactions which will restart this from the beginning. So this is an introductory post, there are a lot of deep things what I hope we will touch in our future examples. What's it for now. Waiting for your feedback and comments.