Hacker News new | past | comments | ask | show | jobs | submit login
Juno: A Lightweight and Simple Web Framework (brianreily.com)
43 points by jamongkad on March 7, 2009 | hide | past | favorite | 11 comments



This looks a bit like Sinatra http://www.sinatrarb.com and Camping http://camping.rubyforge.org/files/README.html for Ruby.


It looks more like a cleaned up web.py (http://webpy.org/) which came long before Sinatra.


I love the way Sinatra maps URLs. Ruby's got some gnarly tools for creating DSL's. Always blows me away every time I see Rubyists do their magic.


They should cite Sinatra as an influence as it is quite obviously derived from it.


I am not sure why people are spending their time developing web frameworks that only let you do less than existing web frameworks.

I ranted about this in detail here:

http://blog.jrock.us/articles/Ernst,%20Angerwhale,%20the%20F...

(My thoughts about web frameworks start near the middle.)


Last time I looked at web frameworks in python, they all wanted to create 60+ files, and wanted me to edit things everywhere to actually get started. This kinda turned me off using python to actually do anything relating to websites.

Compared to getting started in, say PHP, the learning curve in python is absurdly high


That's exactly how I felt when I first gave Django a test drive.


As I understand it, Karrigell

karrigell.sourceforge.net/

is the Python framework most similar in style and ease of starting to PHP.


After using Drupal, Rails and web2py, it feels like I spend an awful lot of time finding out where a framework begins an ends -- the core philosophy which often times isn't quite articulated. Using Sinatra, and potentially Juno, there is a hard line: we don't do ORMs. We don't do y. We don't do z. I find that useful and refreshing. Don't get me wrong, I enjoy writing for each given because they have differences. It sometimes took me a while to pick up on the subtleties. :)

To suggest creating a framework that does less than other frameworks is the soup du jour isn't quite on. I'm loving Sinatra because it does what I need: routing. I'm using other tools to bite into git as a data store and Haml for views. It makes me giddy. Each part works the way I think or the problem I needed to solve. To expect one framework to fit all criteria is a tall order.


That's because every programmer suffers through the "Second system effect" multiple times in his life. Each time he spawns a framework. And some of them get released.

"Nature calls", so to say.


I was just checking the Sinatra docs and the Juno examples on the homepage.

Suppose I want to do mydomain.com/username, Sinatra supports doing:

get '/:name' do #matches /username end

but in Juno the route is set earlier itself, and hence seems like can't be done without a controller name (as it's called in cakephp)

@route('/hello/:name/') def hello(web, name): return 'Hello, %s' % name

Or if I'm wrong... can I do this? @route('/:name/') def index(web, name): return 'Hello, %s' % name

Also, i've been used to PHP and would like to use Django or Juno or Sinatra or Rails or anyother language's framework. But the thing that puts me off is how do I start the webserver when using Sinatra or Django?

P.S: I love the routing system in Sinatra and Juno. Too friendly and no tinkering with regex directly




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: