Man, with all the various web development libraries, tool kits, languages and technologies it’s a tad overwhelming trying to figure out up from down.
Ruby on Rails: Lot’s of room to Improve
Sure, it’s easy to just go the Ruby on Rails way, and try to figure that beast out. But dealing with Ruby on Rails isn’t trivial, it still requires a lot of effort and the learning curve can be a bit painful. I personally found it a major pain trying to figure out the intricacies of tying in the embedded Ruby, Coffee Script and views (HTML/CSS) side of things. The actual Models and Controllers are pretty straight forward. It’s the V for View in MVC (Model View Controller) that seems to be the reason for so many new happenings in web development.
What’s your Angle?
So I did some reading, and that always leads to more questions than answers at this stage of the game. After reading up on Angular.js (a Google open source project), Google’s new Dart Script language (open source), Google Web Tools (GWT) which is not open source, Closure (another Google project), I came to the conclusion that I was confused.
I can either go back to Ruby on Rails, which is what I started using, or keep trying to figure out if there’s a better way. Am I locking myself into some over hyped framework that I will regret down the road? I don’t mind building a throw away prototype, what I do mind is that there is still a learning curve to Ruby on Rails. So if I’m going to throw away my 1st born, the effort involved in the learning curve may be better spent on a language and framework/libraries that I will also use for the second baby.
Is that too much to ask? I don’t know. However I do know that you have to find a healthy balance between scrapping old technology for the new.
At first I thought Angular.js has no place in the Rails framework, same for Dart, but a few qwuick Google searches showed blogs mentioning using Rails with Angular.js and Dart. When it comes to web development, trying to figure out the best libraries, frameworks, and languages to use is nutty. Developing a native Windows or Mac application or a native iOS or Android app is pretty simple when it comes to picking a language and tools compared to the messy world of web development.
Good-Bye Internet Explorer, you greedy little thing
But until then we have to wait and see, at the same time, have some vision and belief… in my case I think Microsoft is still a beast to be reckoned with from the point of view they have a large developer base, and every Windows desktop and laptop ships with IE. But, it’s looking like Chrome has more users based on the stat’s from this Wikipedia page.
Either way you slice it, I’m betting on Chrome and Google. I get the point of developing web apps on Microsoft platforms with .NET and ASP (ease of use, hardened tools used by corporate developers) but I don’t have the cash or desire to be locked into an evil empire. Is Google an evil empire too? Maybe. But they don’t have much, if anything, to do with Rails, and Google’s web dev tools mostly open source, so I trust Microsoft less than I trust Google. In fact I actually like Google, and the last time I liked Microsoft was around 1995.
Don’t Believe the Hype
And for Rails, well, it’s certainly over hyped. There’s the PHP crowd that hates Rails because they’re too invested in their existing skill set, no time for another steep learning curve when you’ve got project to complete. And there seems to be a big part of the Rails friendly crowd that are a little too bliss-ed out, I kind of get it, these guys all seem to have a solid background in PHP and were willing to make the change, so they appreciate the ease of Rails and the time savings.
And in both crowds you’ll find the blow hards that figure they spent years learning to code that hard way with poorly designed tool and languages, so you should too if you expect to get anywhere in life (these types are the enemy of progress, productivity, creativity and innovation).
Not to mention the guy that initially wrote Rails holds the trademark on the Rails logo and the phrase “Ruby on Rails” and apparently won’t let book authors use the logo without his permission. Doesn’t sound too open source to me, what a great way to stop people from wanting to write a book to promote the framework and technology of Rails. Kinda turns me off from wanting to use Rails.
Good Killed Great
I’m not looking for good enough, or better than a bad way of doing things. I’m trying to find the optimal route from A to Z. A few quick Google searches will show that Dart can replace Coffee Script in Rails, and people are using Angular.js with Rails (how and why is still a mystery to me, that’s the more questions than answers part of the equation). But just because you can, doesn’t mean you should. So now I’ve got to read more DOCs, tutorials, blogs and books to figure out what’s the best thing for me, myself and the 7 billion “unique” people that will visit my site each hour. Not to mention the scalability I need when the worlds population grows to 8 billion.
The Present Moment: In the Now
See, this isn’t a small undertaking. But seriously, like I said earlier, who wants to waste time learning a technology if there’s a better, easier way to get things done. If that’s sounds lazy, let me put it this way, do you develop in Assembly Language for the web? Likely not, so why are we developing with the mess we have today? Well that seems to me why Angular.js, Closure, GWT, and a zillion other funny named projects exist.
The mess is chaos and out of chaos comes, more chaos, and hopefully, eventually, focus and simplicity.
I like the simplicity of Rails to create models and controllers, like I said earlier, the views drive me nuts. The question is, should I use Dart with Rails? What about Angular.js, Closure or GWT (I know the rumors are that Dart will replace GWT)! Or is there a better way to do MVC while retaining the simplicity of the M and C in Rails?
Then there’s Django, I mean where does this end, trying to navigate the maze of tools to make your masterpiece. I stumbled across a mention of WebObjects from Apple, seems to of lost the spotlight… what’s NeXT (no pun intended)?
- Full Stack Web Development (act2.me)
- How AngularJS Made Me a Better Node.js Developer (liamkaufman.com)
- How to build a large Angular.js application (gocardless.com)
- My Experiences with Ruby off Rails (spin.atomicobject.com)