views:

73

answers:

2

I've done a bunch of web development with JSP/J2EE and some ASP.NET. Nevertheless, I still feel like I'm catching up with the web 2.0 stuff that relies heavily on JavaScript.

I have two questions:

I'm looking for great samples of web applications to learn development techniques. I prefer to look at real-world examples (i.e. something open source). I'm open to learning from any great code, regardless of language used on server side. The kind of example webapps I'm looking for are ones that clean and not too complex, but also not too trivial. I have checked out some code from google code project hosting, but I don't have time to download and look at hundreds of different projects, so I'm looking for suggestions.

Second question: I know Ruby on Rails was an innovative framework (which I've never used, but I'm familiar with it and I've played around with Grails, a similar framework but more Java-like). So rails is now a few years old. What are the major things we learned since the introduction of Rails and what does the next generation of web framework look like?

A: 

Hi there ;)

about the first question, I can suggest you TeamBox, very similar to Basecamp, but it's open source, with an avaiable repository on github. it's written in rails.

for the second question: for sure I learnt about MVC approach (I re-applied same philosophy to PHP in some works). the next generation frameworks are using even more abstractions and layers. for example using ORM libraries for different databases (you save time writing SQL queries, you can use same API for different databases, even for the new NoSQL storages). I suggest you to look for Redis, CouchDB and MongoDB databases. they are different each other about approach and data-organization, but they are becoming very useful for complicated web-apps

apeacox
Thanks. IMO more abstraction layers isn't necessarily better. What is needed is BETTER abstraction layers. For example, I've used Hibernate a lot, and it is monstrous abstraction layer... it transparently persists object graphs, has it's own query language, does caching, etc. It's great when everything works, but when it doesn't work you have no idea why. Portability also isn't all cracked up to be (again, from my experience with lots of "abstraction layers" and Java itself)I've played around with AppEngine Datastore but I haven't looked at those other DBs you mentioned, which I will do
Otto
I agree, I did't say that more abstraction is better. but it's also true that, for my experience, *those* abstractions were really usefull.Btw I think you should study the abstraction you're using. ActiveRecord is *relatively* easy to learn, so if you encounter some issue with it, you can look at code. don't know about Hibernate :P
apeacox
+1  A: 

I knew that saving this tweet from Ruby News would come in handy.

Take a look at Chris Lowis's post: Open-source rails apps to study and learn from.

pborenstein
great, this post is exactly the kind of info I was looking for.
Otto