| Author |
Message |
ClickFanatic Est. 2005

Joined: 18 Jan 2005 Posts: 4100 Location: A particular geographic area
|
Posted: Thu Feb 14, 2008 9:16 am Post subject: Web frameworks (for PHP, Ruby, Python, etc.) |
|
|
Web frameworks are a relatively new trend in programming. They define a clear structure for the programmer(s) to work with and provide templates or even full solutions to reduce the amount of repetitive programming. In other words: they are designed to make programming less messy and less boring.
Some well-known frameworks include Symfony (PHP), CakePHP (PHP), CodeIgniter (PHP), Ruby on Rails (Ruby) and Django (Python).
I have tried a few frameworks so far, but I have yet to finish a complete project. I used Symfony and CodeIgniter for basic website building. I also gave Ruby on Rails a whirl, but came to the conclusion that I need to work with Ruby a bit more often to get a good understanding of the framework.
Frameworks allow the programmer to write quick and structured code. However, some of the frameworks I've come across have such a wide range of features that it is simply bad for the workflow (something which frameworks aim to improve).
Any developer who cares the least about performance doesn't want an automated database query all the time. However, some frameworks do that.
Some frameworks do more of this 'magic' than others. From my personal experience, CodeIgniter is quite stripped down by default and extensible when required.
What do you consider important aspects of web frameworks? Which ones have you used or do you use? And under what circumstances would you (not) use a web framework? _________________ Captain Jell-O Buster from the Future
[img]http://feeds.feedburner.com/sparepencil.1.gif[/img] |
|
| Back to top |
|
| |
spock iSpock

Joined: 23 Mar 2005 Posts: 2928 Location: The Netherlands
|
Posted: Thu Feb 14, 2008 9:43 am Post subject: |
|
|
Well, I've actually tried various PHP web frameworks. I think CodeIgniter is the best one.
I haven't actually used frameworks in projects, mainly because such frameworks require you to know quite a lot of things about the framework to use it effectively. I tried using them a few times, but usually getting accustomed to working with a framework takes quite a while, and if you have a project that needs to be done, it's actually smarter to just do it yourself.
I am planning however on just exploring a nice framework fully when I do got the time, so I can use it in future projects. _________________ My new site
My OpenTTD data package |
|
| Back to top |
|
| |
marinaroz Grey Scaled

Joined: 04 Mar 2004 Posts: 2876 Location: Israel
|
Posted: Thu Feb 14, 2008 5:18 pm Post subject: |
|
|
At my current job, I'm working with Vignette 6, which is a framework for Tcl. I'm not too sure about its specifics, but the website I'm working on is huge, and everything is handled through the framework, so I guess it has its advantages. _________________ Tarakana NET |
|
| Back to top |
|
| |
krt ...

Joined: 11 Jan 2005 Posts: 4765 Location: Down Under
|
Posted: Thu Feb 14, 2008 6:06 pm Post subject: |
|
|
For PHP, I normally use a very thin application framework I coded and continuously improve (nothing special, and not even something I'd want to release yet). Handles basic MVC and DAL and most of the rest is libraries. The current frameworks are a bit too restrictive or take too long to get proficient using them. However, I've heard good things about CakePHP, Symfony and Zend.
For ASP.NET, which I would ever increasingly prefer to become my primary web development language (not very compatible with freelancing though where most of the work is on Linux boxes that only support scripting languages like PHP, Perl, Python etc.), I use another even thinner framework of my own, however I'm looking forward to this ASP.NET MVC Framework. |
|
| Back to top |
|
| |
LP-SolidRaven Dictator of the Dump

Joined: 06 Jun 2004 Posts: 7297 Location: The cheese is made out of moon
|
Posted: Fri Feb 15, 2008 1:39 pm Post subject: |
|
|
I wrote my own small PHP framework that handles pretty much everything I need. Has support for several database types. Works fine on PHP 4 and other things like that. If you wrote something yourself you know everything about it what makes it a lot easier to use. _________________
| Quote: |
<bart416> I just realized something
<bart416> we celebrate the fact that this piece of rock made one rotation around a glowing ball of plasma that is kept together due to its own gravity well
<njsg> HAPPY NEW YEAR
<Easter> ^^
|
|
|
| Back to top |
|
| |
ClickFanatic Est. 2005

Joined: 18 Jan 2005 Posts: 4100 Location: A particular geographic area
|
Posted: Sat Feb 16, 2008 6:15 am Post subject: |
|
|
| SolidRaven wrote: | | I wrote my own small PHP framework that handles pretty much everything I need. Has support for several database types. Works fine on PHP 4 and other things like that. If you wrote something yourself you know everything about it what makes it a lot easier to use. |
I suppose that's a better way to go rather than using a prefab framework. You know what's where and how it works. Besides, the coding style is yours and the features are the ones that you use most.
Personally, I found that CodeIgniter also gives such freedom (though not as much as when you'd write your own, of course). So for the ones who don't want to go through the experience of building their own (which takes time to evolve), this would be a great option. CodeIgniter is my favourite so far, by the way.  _________________ Captain Jell-O Buster from the Future
[img]http://feeds.feedburner.com/sparepencil.1.gif[/img] |
|
| Back to top |
|
| |
linuxdoctor Infallible Persona

Joined: 23 Apr 2005 Posts: 1281 Location: Ottawa, Canada
|
Posted: Sat Feb 16, 2008 10:48 am Post subject: |
|
|
Just another programming fad although the professionals would probably prefer to refer to it as a programmign methodology. It's a fad nonetheless. I've seen them all.
Modular programming, reusable code, Object Oriented Programming, Extreme Programming and on and on. With them come their die-hard and fanatical adherents and just as die-hard and fanatical opponents.
The same sort of thing happens with programming languages too. C versus Pascal and Python versus Ruby to name just two. Then there are the fanatics that still cling to FORTRAN and COBOL. Even within certain classes of languages there are it's adherents and critics. C versus C++ versus Objective-C to name one that I am most familiar with. There are some C-language purists who refuse to even use C++ because they see it as too big and inefficient and, for the most part, they are right. For myself, I have so far in my programming career found little use for C++ having spent most of it doing Embedded Systems Programming but I think C++ does have it's uses. Not many, I'll grant you, but there are one or two. There must be. It is my experience with C++ that I could have done the same project in half the time in C and would have been faster and more reliable. Maintaining it? That's another issue.
Then there is the school the deigns to define what 'real' programming is and by extension who are the real programmers. For example, operating system and computer language design is real programming; database and website design is not. Even which operating systems 'real' programmers use is proscribed. Real programmers use Unix (especially Linux and *BSD) not Windows. In fact, Windows 'programmers' are generally shunned and laughed at especially the ones who joined Microsoft from the start and are now all multi-millionaires. "How dare they. Who do they think they are?" would be the general attitude.
Ah yes, programming fads. Like any other fad, gotta love 'em. _________________ Misanthrope: someone who realizes that humans really are as stupid as they appear.
If you think I'm 'politically' incorrect you have the wrong politics. |
|
| Back to top |
|
| |
LP-Harvey Forum Moderator

Joined: 23 Feb 2004 Posts: 3287
|
Posted: Sat Feb 16, 2008 10:54 am Post subject: |
|
|
linuxdoctor, I agree with you with frameworks being a type of methodology, but I'm not so sure it's a fad.
Is it in the spotlight right now? Of course. So I can see why you call it a fad. However, it is an element of design that I think is here to stay... or rather, it's already been here and it's in the spotlight again.
Fads tend to die and never come back. Trends never die, they are just given a rebirth every so often. You stated one yourself, modular programming eventually gave birth to Object Oriented programming. Frameworks seem to be more of a trend than a fad.
To me frameworks makes too much sense to die. They'll just become less popular when the next big programming guru says, "Well, I use _this_ style." |
|
| Back to top |
|
| |
linuxdoctor Infallible Persona

Joined: 23 Apr 2005 Posts: 1281 Location: Ottawa, Canada
|
Posted: Sat Feb 16, 2008 11:05 am Post subject: |
|
|
| LP-Harvey wrote: | | To me frameworks makes too much sense to die. They'll just become less popular when the next big programming guru says, "Well, I use _this_ style." |
And therefore it's a fad. Just as I said.
Anyway, hind-sight is 20/20, as they say, and you won't know if someone is right until we get to the future. By then, very few people will even care.
This sort of reminds me of the early days when the C-language was new. There was a huge controversy over how to properly code the language, especially how to properly indent lines of code (spaces versus tabs, four or eight spaces) and where to place the braces (end of the line or at the beginning of the next). In hindsight it seemed all rather silly but that sort of thing is still with us today. _________________ Misanthrope: someone who realizes that humans really are as stupid as they appear.
If you think I'm 'politically' incorrect you have the wrong politics. |
|
| Back to top |
|
| |
ClickFanatic Est. 2005

Joined: 18 Jan 2005 Posts: 4100 Location: A particular geographic area
|
Posted: Sat Feb 16, 2008 11:39 am Post subject: |
|
|
The usage of frameworks can indeed be considered a fad. Time will tell if they continue to be useful to programmers or whether the fad will die.
I think the reason why web frameworks have become so popular is because of the Web 2.0 craze. Everybody wants websites with drag and drop elements, AJAX and a Pokemon name. Other people stuff these features into a framework and it suddenly becomes popular.
I think this is a bigger part of the fad than the core idea of frameworks. _________________ Captain Jell-O Buster from the Future
[img]http://feeds.feedburner.com/sparepencil.1.gif[/img] |
|
| Back to top |
|
| |
exsanguination Forum Regular
Joined: 27 Apr 2005 Posts: 418 Location: Australia
|
Posted: Sun Feb 17, 2008 6:04 pm Post subject: |
|
|
Why would a framework be a "fad"? The whole point of them is to reduce development time (once you are proficient with them obviously) and stop re-inventing the wheel so to speak. Why would I write my own persistence framework when there are already providers for it out there (e.g. Toplink and Hibernate for Java)?
Its hardly a "fad" to want to make software easier to write and maintain. Frameworks help with this (unless you are stuck with a really crappy "framework" that does really stupid stuff - and those are far too common).
Yes, you could probably do a better/faster/more magical implementation yourself given enough time and energy, but is it worth the time/money/effort? That really depends on the project and the skill of your programmers. |
|
| Back to top |
|
| |
ClickFanatic Est. 2005

Joined: 18 Jan 2005 Posts: 4100 Location: A particular geographic area
|
Posted: Mon Feb 18, 2008 10:02 am Post subject: |
|
|
| exsanguination wrote: | Why would a framework be a "fad"? The whole point of them is to reduce development time (once you are proficient with them obviously) and stop re-inventing the wheel so to speak. Why would I write my own persistence framework when there are already providers for it out there (e.g. Toplink and Hibernate for Java)?
Its hardly a "fad" to want to make software easier to write and maintain. Frameworks help with this (unless you are stuck with a really crappy "framework" that does really stupid stuff - and those are far too common).
Yes, you could probably do a better/faster/more magical implementation yourself given enough time and energy, but is it worth the time/money/effort? That really depends on the project and the skill of your programmers. |
It's a fad, though not the negative connotation of the word fad, in my opinion.
Fads can be positive, but they tend to stay popular for only a relatively short time. At the moment web frameworks are definitely a fad. Many have been released in the past few years and many people have started using them.
The question is: will this become the status quo or will it go down in history as a fad. _________________ Captain Jell-O Buster from the Future
[img]http://feeds.feedburner.com/sparepencil.1.gif[/img] |
|
| Back to top |
|
| |
LP-SolidRaven Dictator of the Dump

Joined: 06 Jun 2004 Posts: 7297 Location: The cheese is made out of moon
|
Posted: Mon Feb 18, 2008 12:11 pm Post subject: |
|
|
| ClickFanatic wrote: | | exsanguination wrote: | Why would a framework be a "fad"? The whole point of them is to reduce development time (once you are proficient with them obviously) and stop re-inventing the wheel so to speak. Why would I write my own persistence framework when there are already providers for it out there (e.g. Toplink and Hibernate for Java)?
Its hardly a "fad" to want to make software easier to write and maintain. Frameworks help with this (unless you are stuck with a really crappy "framework" that does really stupid stuff - and those are far too common).
Yes, you could probably do a better/faster/more magical implementation yourself given enough time and energy, but is it worth the time/money/effort? That really depends on the project and the skill of your programmers. |
It's a fad, though not the negative connotation of the word fad, in my opinion.
Fads can be positive, but they tend to stay popular for only a relatively short time. At the moment web frameworks are definitely a fad. Many have been released in the past few years and many people have started using them.
The question is: will this become the status quo or will it go down in history as a fad. |
You should never use a framework if it has features that you couldn't write yourself. Like if you have no clue on how to access a database without a framework you should not even write a database application. _________________
| Quote: |
<bart416> I just realized something
<bart416> we celebrate the fact that this piece of rock made one rotation around a glowing ball of plasma that is kept together due to its own gravity well
<njsg> HAPPY NEW YEAR
<Easter> ^^
|
|
|
| Back to top |
|
| |
ClickFanatic Est. 2005

Joined: 18 Jan 2005 Posts: 4100 Location: A particular geographic area
|
Posted: Mon Feb 18, 2008 12:22 pm Post subject: |
|
|
| SolidRaven wrote: | | You should never use a framework if it has features that you couldn't write yourself. Like if you have no clue on how to access a database without a framework you should not even write a database application. |
I agree. It's really going to be counter-productive if the framework does not support the exact thing you want to do and you have no clue how it works.
Frameworks are intended to make programming easier by providing solutions for repetitive tasks. So it is assumed that the programmer is familiar with those tasks.
On the other hand, frameworks can be a great learning resource for beginning programmers, because they are usually written in a very well-structured way. _________________ Captain Jell-O Buster from the Future
[img]http://feeds.feedburner.com/sparepencil.1.gif[/img] |
|
| Back to top |
|
| |
LP-SolidRaven Dictator of the Dump

Joined: 06 Jun 2004 Posts: 7297 Location: The cheese is made out of moon
|
Posted: Mon Feb 18, 2008 12:49 pm Post subject: |
|
|
| ClickFanatic wrote: | | I agree. It's really going to be counter-productive if the framework does not support the exact thing you want to do and you have no clue how it works. |
I personally think that if you don't use your own framework that it's already counter productive.
| Quote: | | Frameworks are intended to make programming easier by providing solutions for repetitive tasks. So it is assumed that the programmer is familiar with those tasks. |
Sadly a lot of new "programmers" just start using a framework from day 1.
| Quote: | | On the other hand, frameworks can be a great learning resource for beginning programmers, because they are usually written in a very well-structured way. |
I don't agree, simple software written in a simple way with no unnecessary structures is the best thing to learn from. _________________
| Quote: |
<bart416> I just realized something
<bart416> we celebrate the fact that this piece of rock made one rotation around a glowing ball of plasma that is kept together due to its own gravity well
<njsg> HAPPY NEW YEAR
<Easter> ^^
|
|
|
| Back to top |
|
| |
|
|
|