Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What is the best language/framework for rapid prototyping of web apps
9 points by solomatov on Jan 5, 2014 | hide | past | favorite | 17 comments
What do you think is the best language/framework for rapid prototyping? Could you explain why?

According to common knowledge, the best frameworks and languages for this area are Python/Ruby with RoR/Django. However, I find myself quite uncomfortable with these technologies and like Java/Scala the most. Could you give any tips what I might be doing wrong?




Clojure would be my first choice, esp since you're fond of the JVM. Python is also good, esp for non-JVM projects.

Python and JVM languages give you access to the widest range of high-quality libraries, esp in the data processing space, and having high-quality libraries that you didn't have to write is key for rapid prototyping.

Clojure REPL-driven development enables you to define and evaluate functions inline, and the immediate feedback makes development fly. Combine this with Clojure's lack-of-verbosity, first-class Java interop that gives you access to all Java's libs, and Clojure's concurrency model, and you have a toolset ideal for rapid development that doesn't sacrifice performance.

Pedestal (http://pedestal.io/) is the Clojure Web toolkit I would use -- it's designed/backed by Cognitect (http://cognitect.com), Rich Hickey's new company.


For web applications, I think rapid prototyping requires a framework that performs a lot of magic, like Rails and Django. I don't think it depends on the language of the framework since you won't have to think of concurrency or anything like it. Rapid prototypes of web applications are concerned with request, response, and database interactions. The easier the framework makes it the better. It's not about Ruby or Python or Java.


On the JVM space, for rapid prototyping this study[1] found the most adequate to be Vaadin, Grails and GWT. Personally, I prefer Play with Scala. I think it's fast enough for prototyping and can scale up beautifully both in application complexity and in load.

But, I believe the answer is that the "best" language/framework is the one you know better and are most proficient in.

[1] http://zeroturnaround.com/rebellabs/the-2014-decision-makers...


This sounds anticlimactic, but: "the language you already know", will almost always be the quickest way to start developing web apps.

Maybe that's not true if you're a C programmer, but pretty much any other language has a fairly good, "just what's necessary" web framework.

If you're coming from a less popular language, your options might be limited, but I can't think of any even moderately mainstream language that doesn't have at least one decent option.

If you like Java/Scala, you might look into something like Spark.


I spend considerable effort learning Python/Ruby/JavaScript (and I use JS from time to time for my work) but anyway even with the effort Java is better for me.


I don't think it's "common knowledge" at all, that Python/Ruby are "best" for this. They might arguably be "most popular" but "most popular" does not necessarily mean "best". It's entirely possible that there isn't even any such thing as "the best" language platform for this. There are a lot of variables.

Anyway, if you already know Java and have some familiarity with that world, I can't recommend Groovy and Grails highly enough. Grails has been a tremendously productive environment for me, FWIW.


If you feel uncomfortable with Rails, check out Sinatra[1]. It's my favorite way for prototyping an app and pushing it on Heroku.

http://sinatrarb.com


Check out Meteor (https://www.meteor.com). I'm a Ruby on Rails developer by trade, but recently tried it and even after just a few hours of playing around with it, found my 'getting stuff done' speed was beating the pants off Rails. Now whether it's ready for production or not is another matter entirely...


You should checkout the SaaS classes (169) on edX. They provide a great into to ruby on rails.

In order to be able to prototype quickly with ruby on rails, you need to learn how it works / what shortcuts there are / what gems can quickly give you functionality you want.

That said, use whatever works best for you! There is no one right answer.


Have you looked at Play! Framework?

I'm switching from java/scala to node.js/jade/coffeescript/express: I think it is really efficient for rapid development.


I've taken look at it. However, Play especially its Scala version is slow as hell.


Really? Slow compilation or slow at runtime? Compilation, sure. Scala still has a slow compilation process but they're working to fix it. For a rapid prototype I don't think compilation time would be very material assuming rapid prototyping means 'something that exhibits the concept'


Yes, I mean prototype which exhibit concept. I mean proof of concept implementations.


Try also HybridJava.


Agreed. Node is incredibly efficient for prototyping if nothing else.


It sounds like you're a fan of statically typed languages. Maybe try WebSharper (F#), Play/Lift (Scala).


I am not a fan of them but I find myself more productive with them. I've taken a look at both WebSharper and Play/Lift. WebSharper has very unpleasant license. Play/Lift have quite a slow feedback cycle, i.e. compilation time is too slow thanks to Scala.




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

Search: