Web Development Frameworks
Ranked #3,928 in Internet, #216,397 overall
Introduction to Web Development Frameworks
Web development is a pain. Not only do you have to code business logic, but you also have to do database work, database tuning, user interface design, user experience design, CSS, HTML, yada, yada, yada....
In the last few years, a number of web development frameworks have sprung up, with each promising and delivering productivity benefits. This lens introduces you to the idea of using these frameworks.
Last Updated: 2 September, 2010
Photo from wordle.net
In the last few years, a number of web development frameworks have sprung up, with each promising and delivering productivity benefits. This lens introduces you to the idea of using these frameworks.
Last Updated: 2 September, 2010
Photo from wordle.net
Rails 3.0 Is Ready
It was 20 months in the making, but Ruby on Rails 3.0 has been released. Rails 3.0 has many improvements over the old versions. Performance has been improved. The model layer is now more modular so that you can use ActiveRecord to wrap your data, or use something else (e.g. DataMapper). Also, unobtrusive Javascript is the new philosophy for making Rails work with AJAX.
If you need a good tutorial, Michael Hartl has put his new book on Rails 3.0 online for free.
Rails 3.0 also works with Ruby 1.9.2, which has some huge performance improvements over Ruby 1.8.x.
If you need a good tutorial, Michael Hartl has put his new book on Rails 3.0 online for free.
Rails 3.0 also works with Ruby 1.9.2, which has some huge performance improvements over Ruby 1.8.x.
For Newbies: How to Choose A Web Development Framework
So you want to get into web development eh? Perhaps you have some experience doing other sorts of software and now you want to do web development for fun, profit, or a job. How to pick?First of all you have to figure out why you want to learn. For example, if you want a job in some large company doing web development (mostly maintenance and evolution), then figure out which large companies in your area are hiring, and then pick the framework they use. It is probably Java/Struts/Hibernate, or ASP.Net. Smaller outfits tend to use a lot of PHP.
A few years ago (2003), I got into my first web application. I had been a C/C++ programmer and I knew nothing about SQL, or web development. My budget was 0, except for a couple of books. I picked MySQL as a database because it was easy to install and play with. My web development language choices were limited. I tried Java, but it was bloated and useless on my home machine, and the libraries were too confusing for me. I tried PHP, but there was little documentation to help me get things going. I ended up picking Perl because Perl had a great language book, a great book on writing CGI applications, and easily available and well documented drivers for MySQL. My friend had a company web site, and they had access to MySQL databases. He let me use a corner of his site for my application.That web site was a proof of concept. (When we built the "real" version, it was done using .Net, but I didn't code any of it).
If you are looking to develop web applications for yourself from scratch or to learn, then you have to take a different tack. You have to ask yourself a few questions.
1. Do you want to learn everything about deploying web applications? Or do you want to avoid the hassle of web deployment and only worry about programming? Python is easy to deploy if you are doing it on the Google App Engine. Rails is easy if you are doing it on Heroku. It is hard to deploy if you are using other methods.
2. Which languages have you used before? Are they similar enough to the popular web development languages? Java folks seem to like Python. Microsoft folks do well with ASP.Net. C/C++ programmers enjoy Ruby.
3. Are you strong with HTML? If so, then you may find PHP more friendly.
4. Are there good web sites, manuals, and books on the language of your choice? .Net is good. Ruby/Rails is good. PHP is good. Perl is not so good, and neither is Python, but it is improving.
5. How much does hosting cost? PHP hosting is often cheap or free. .Net hosting is expensive. Python is free if you use the Google App Engine. Rails is most expensive unless you use Heroku.
For my second web development gig (2008), I picked Ruby on Rails. Ruby was similar enough to Perl and fun to program. I am relatively uncomfortable with Python, partially because it looks too much like Java, and I hate Java. C# was a nice language, but Microsoft's terms for everything seem to be different than the rest of the world, so unless you are a Microsoft developer, learning the terminology is a challenge. I didn't choose PHP because I am not comfortable with programming that looks HTML-centric to me. Ruby on Rails was easy to install on my home machine, mainly because it comes with the SQLite database baked in. i.e. No separate database installation. Web sites, blogs, and books were everywhere. Learning the ins and outs was not super hard. I found a hosting company for my Rails application that was....free! It is now called www.herokugarden.com. It gave me a nice place to play. Also, deployment to Heroku is as easy as uploading a tarball to Heroku.
Rails was the right decision for me. Take the time to make the right decision for yourself, and that will help you get the most out of the web development framework that you choose to learn first.
Angular: A New Web Development Framework
After studying web development frameworks for a few years a few problems have become clear:
My thinking for my next web application was to have a server that provides authentication, JSON data, static HTML for scaffolding, static CSS for styling, images, and a set of Javascript files that grab the data and format it according to rules deduced from the Javascript code and some of the data. That way, the client does most of the work.
Angularjs is exactly what I have been looking for.
- Views are painful to code, especially if you have AJAX driven elements.
- As you develop, keeping your view in sync with your data model is tedious and error-prone.
- Back buttons work in unexpected ways with AJAX apps.
- Entirely too much view processing takes place in the server. If you provide HTML scaffolds, CSS, Javascript and a data source (e.g. JSON or XML).
- Most of the complexity of a web application framework is in the views.
My thinking for my next web application was to have a server that provides authentication, JSON data, static HTML for scaffolding, static CSS for styling, images, and a set of Javascript files that grab the data and format it according to rules deduced from the Javascript code and some of the data. That way, the client does most of the work.
Angularjs is exactly what I have been looking for.
- Two-way binding of views to data eliminates a lot of tedious error-prone code.
- They have a straightforward way of assigning a URL to every view modified by data. So back buttons work.
- AngularJS is a HTML compiler that makes it easier to control the rendering of data according to your CSS styling rules and your layout policy encoded in your application Javascript and your data. Having this very organized way of rendering data into intermediate view forms (e.g. HTML) running on the client means that the server does not have to do it.
- I think that if the popular web frameworks (e.g. .Net, J2EE, Ruby/Rails, Python/Django, PHP, Smalltalk/Seaside) use AngularJS instead of their own view-rendering technology (e.g. ASP, JSP, ERB, HAML, PHP, etc), it will greatly simplify the frameworks. Also, if a server is only spewing data on most requests instead of Data + HTML + Javascript, it will mean less server-side processing and less bandwidth and probably fewer HTTP requests per page.
powered by Youtube
Ruby on Rails Videos
Ruby on Rails is one of the first very popular web development frameworks. David H Hansson and others expound on this framework.
automatically generated by YouTube
Ruby On Rails Books
Seaside (based on Smalltalk)
Smalltalk did it too.
Another web development framework based on Smalltalk.
automatically generated by YouTube
Python Django Videos
... web frameworks in Python
These videos give a bit of direction on how to develop web applications using the Python-based Django framework.
automatically generated by YouTube
Python, Django, and Google App Engine Development
... a presentation from Guido himself (the author of Python)
curated content from YouTube
Django Books
PHP Fuse
...build fast with PHP
This is another MVC web framework based on PHP. It seems to have a fairly complete set of features except database migrations. Check out PHP FUSE for more details.
It promises to deliver more productivity for PHP/MySQL developers.
It promises to deliver more productivity for PHP/MySQL developers.
PHP FUSE video
Jim shows how to get a working CRUD application up in a few minutes.
curated content from YouTube
PHP Books
Orbit - A Web Development Framework For Lua
For those who don't know, Lua is an interpreted scripting language. Its strength is that the Lua interpreter and runtime is very small and written entirely in C. It is used as the embedded scripting language for lots of projects such as World of Warcraft and other games. There is a web development framework around Lua called Kepler. It runs on Windows and most flavours of Unix and Linux. It has a web server called Xavante, but can work with Apache 2, Lighttpd, or even thttpd. The big advantage of Kepler is that it is small, and can serve as a web server or management agent for devices limited in processing and memory.With Kepler there is an open source module that provides a MVC web development called Orbit. Same basic idea as Rails, Django, et al, but a lot leaner. Check out the tutorial on the Orbit page.
Microsoft ASP.Net MVC
Microsoft's answer to Ruby on Rails
It had to happen. Microsoft has developed and released their own MVC web development framework. I guess they had to in order to make sure that Ruby on Rails and Python/Django don't take their market share. Nothing like some good old fashioned competition.
This video shows a bit how to develop Net MVC.
This video shows a bit how to develop Net MVC.
powered by Youtube
Net MVC Tutorials
A great introduction to programming with Net MVC.
Microsoft did a good thing by delivering Net MVC. They also delivered some tutorials on how to program with it. Their code is in VB or C#. Topics include:- Understanding models, views and controllers, actions & results.
- URL routing.
- Injection attacks
- Unit tests.
- Deployment with IIS
- Models with LINQ and SQL
- Views, tables, layouts.
- Passing data to pages.
- Output caching.
- Authentication.
The tutorials can be found at www.asp.net.
Ruby on Rails on Google App Engine
Google App Engine moves forward. You can now use Ruby on Google App Engine using JRuby. Google's description is here.
SQLite
...the database under most web development frameworks...
Most web development frameworks provide the ability to use SQLite as a database. Why? Because it is free, and because it is not complicated to "install". (The database application is one .exe file called "sqlite3.exe", and the database is stored in one file). Also, using SQLite is a fantastic way to play with data models before wiring them into your web application.
The SQL used in SQLite is a "vanilla" SQL and most of it works with the SQL of most popular databases (e.g. MySQL, PostgreSQL, SQL Server).
For more information, check out the videos on YouTube which show how to use SQLite and how to program against it in various languages.
The SQL used in SQLite is a "vanilla" SQL and most of it works with the SQL of most popular databases (e.g. MySQL, PostgreSQL, SQL Server).
For more information, check out the videos on YouTube which show how to use SQLite and how to program against it in various languages.
by JayGodse
JayGodse
I am a software developer.
- 10 featured lenses
- Winner of 6 trophies!
- Top lens » SQLite: The Hammer For Software Problems
Feeling creative?
Create a Lens!
Explore related pages
- SQLite: The Hammer For Software Problems SQLite: The Hammer For Software Problems
- Google Apps Google Apps
- Software Quality Software Quality
- Bournemouth Guide All About Bournemouth Bournemouth Guide All About Bournemouth
- England's Seaside Towns England's Seaside Towns
- Simple Seashell Summer Crafts Simple Seashell Summer Crafts

