Too many frameworks, templates, languages - what to focus on?

Back when I was learning web design it was simple, there was HTML, CSS and maybe a little PHP/Javascript.

Right now there seems to be an uncontrolled proliferation of languages, frameworks, systems, templates, etc… and frankly it’s a little hard to keep up, and to know where to focus.
There’s ruby of course, and then there’s all the PHP frameworks like codeignighter, and then there’s haml or jade and templating languages, and then there’s less or sass (with of course compass), and then there’s of course things like jquery, and then there’s node.js and it’s plugins, and then there’s handlebars and moustache, and then there’s grid systems, mobile frameworks, etc…

And that’s not even covering half of them.

Is anyone having any luck keeping up with all this stuff? It seems like there’s a new cool framework every week. Lots of them seem useful, and many are connected, but it’s confusing to keep having to switch my “brain mode”.
Eg: I decided to focus on Less over sass as it worked with one system i liked, but then the next useful looking system uses sass and (although they are similar) it’s confusing to switch between the two. I was just getting up to speed on codeignighter, but now everyone is all node.js.

What would people suggest to focus on? And what do people think will be profitable and useful in the future.
(i realise it’s probably an unanswerable question).

1 Like

Argh! That’s another one! :wink:

I totally get the benefits of most of these frameworks/templates/systems/etc… infact, each one i read about sounds great. But there’s a limit to how many you can realistically learn, and there’s a downtime every time you have to switch to a new one. Akelos (?) might bring big advantages working with a team on project A, but then project B chose to use Yii and project C chose to use node.js with some other templatng language, etc…

I’d love to learn and be fluent in all of them, but it’s not really feasible. Of course, some parts are transferable, and using any MVC thing is likely to help with learning the next MVC thing… but still… argh.

I guess everyone will have their own personal preferences (ie: the argument about PHP frameworks alone could go on forever). But i’m really thinking on a larger scale. What ones are likely to be mainstream or useful for a reasonable amount of time. Will node.js and less disappear in 2 years?

Also, do people have any good “sets” of frameworks/languages. Eg: Well Yii uses jQuery and Blueprint so they work together. or Compass uses SASS and Blueprint so they work well together.

As you touched on, these frameworks, libraries, and other technologies do disappear. PHP is going to be around a good long time. CodeIgniter? CakePHP? Ruby On Rails? Prototype? Smarty? Who knows how long they will be around.

If you are going to focus on learning anything, there are a couple strategies you can take. If you are trying to earn money, you can focus on the lesser-known libraries because there are less developers with experience working with them. But if you want to learn something that will hopefully be around for a good long while or use it in your own projects, it is best to focus on the ones that are the most popular. Those are the ones most likely to be developed into the future.

Personally, I hate them all.

My advice – Javascript is an INTERPRETED language – even with the bytecode pre-compiler, PHP is an INTERPRETED language… Ruby is the slowest interpreted language I’ve ever dealt with

… and anyone who’s been programming long enough to remember the golden age of interpreted languages circa ROM BASIC will tell you

FRAMEWORKS IN INTERPRETED LANGUAGES SUCK!!!

Learn to do it yourself BEFORE choosing a framework, if you can’t do it or don’t know how, you’re not qualified to choose one. You want to concentrate on something, concentrate on learning how to do things for yourself instead of slapping together off the shelf parts that are just something ELSE to learn.

Templating languages, CSS Frameworks, PHP frameworks, Javascript Frameworks – they’re all sleazy shortcuts that typically take what could be a good software, and light it on fire so they can piss on the ashes.

1 Like

Always nice to see the critics remain civil and objective. :stuck_out_tongue:

BubbleBobble, you’re absolutely right that there are far too many languages, libraries and frameworks for any one person to learn. You could try to scope out the kinds of places where you’d like to work, check what tools they choose to use, and see if a common theme emerges. That should give you something specific to focus on and help your job opportunities in the future.

I guess I should say that i primarily have a background in frontend development, but I’ve been out of the game for a while.

I can get by in PHP, but my code probably isn’t very ideal. As such I was attracted to CodeIgnighter as a simple basic MVC setup that would guide me into good habits. (and then i could always step up to something more complex).

My Javascript/jQuery is also ok, but a little rusty. I’d just about decided on codeignighter, but node.js appeals for the simple reason that it’s confusing to keep switching between PHP and Javascript. Then lots of “cool” templates started to pop up for node.js and reading something liek sitepoint doesn’t help as there’s always a cool new framework being mentioned.

Then again, many of the PHP frameworks seem to be all trying to emulate Rails, so maybe i should just go straight to that and skip all the messing about.

Just thinking aloud…

One question you should be asking yourself is: “Why am I complaining?”

As you’ve said it yourself, back then, web developing was not kind to developers. Now, you can be DRY, you can be productive.

All frameworks try to add an abstraction layer. You should learn to take advantage of that.

I personally took Ruby’s path.

Again, like you’ve said it yourself, Ruby really helps me be more productive when writing HTML and CSS, be DRY. HAML, SCSS these are reasons enough to adopt Ruby at first.

Sinatra, Padrino are Ruby on Rails alternatives that make an easy server side start up. Ruby may be slow for server side, yet this could change with version 2 of the implementation, that’s supposed to add a good VM for it.

So there you go. When you can choose, be happy that you have so many options. When you can’t choose, that’s when you should start complaining.

You seem technically oriented but instead should be purpose-oriented unless you are playing with technology just for fun. As long as it gets the job done correctly, securely and nicely, I think it doesn’t matter which framework you use for your project. These frameworks / libraries exist to help you save time and get the job done more easily. If any of them fails to do that, don’t use it; instead, do it your own in-house way or move on to another framework / library. Many successful websites are built with in-house solutions rather than 3rd party frameworks. Just don’t spend too much time on pondering about which technology you should use. They are pretty much irrelevant when it comes to results.

Just focus on PHP, Javascript and Flash. Mastering those 3 will benefit you in the long run ahead.

I wouldn’t argue with you about PHP and JavaScript, but I think learning Flash at this stage would be a waste of time. Designers are already turning away from it, not least because Apple are not supporting it on the iPhone and the iPad.

1 Like