Hacker News new | ask | show | jobs
Ask HN: What's your go-to stack for prototyping web applications and MVPs?
20 points by JohnnySpaghetti 3419 days ago
Hi all,

My current go-to stack is Rails + Ember.js. I understand it's a bit dated so I'm considering learning something new.

Thus, I'm wondering what you guys use, or what you'd recommend learning.

Thanks!

15 comments

I am also a Ruby/Rails developer. It is a great framework but I wanted to try something new for my side project so I started learning Elixir/Phoenix.

I have now deployed two applications using Elixir. One is a simple blog and the other is the side-project that I am currently working on called Email This [1]. Overall, I've been very happy with Elixir. The learning curve is not too steep and the docs are very exhaustive.

For my next project, I am planning on trying Go. There were many great resources shared in this post on HN today [2].

[1] https://www.emailthis.me

[2] https://news.ycombinator.com/item?id=13612941

Thanks for your answer.

Is there anything you missed from Rails when you did your project based on Elixir/Phoenix?

What are you using on the front-end for both projects? Do you currently have a go-to front-end framework/library?

Email This looks great. What are your plans (if any) to monetize it?

One thing I missed was that the availability of packages for common things like oauth, payment gateway integration etc. In the Rails world we are spoilt for choice when it comes to gems and libraries.

But I think this will improve as the adoption of Elixir increases.

I don't have a go to frontend library. I have worked with React and Vue.J's before and if I have to choose one for another project, I'd probably go with Vue.

I am thinking of running Email This on a pay-what-you-want model, but I am not too sure about it though. First priority is to get people to use it and see if they find value in it.

Cool. Thanks again for your answers.

Best of luck with your projects!

Is Elixir with Phoenix anywhere near the convention over configuration style of Rails?

edit: added Phoenix, the framework name

The Phoenix framework comparable to Rails in terms of conventions.
Backend: Node.js+Exress. Although I'm recently looking into serverless options (e.g. using AWS Lambda, etc.)

Frontend: Bootstrap for looks and CSS sanity. Knockout for data binding; it's a mature framework that works fine for small- to medium-sized web apps. If I'm to learn something new, I'd go for Vue.js, whose concepts look very much like Knockout and it benefits from virtual DOM rendering.

For the past couple of years my stack has been Rails & jQuery.

I'm on the cusp of starting a new project and some configuration problems have left me looking elsewhere. I used to work with Django a lot, and I may go that route, but I also think a full-javascript stack could be good for me professionally.

Alternatively, I'd love to try a clojure backend but frankly I'm a bit afraid of it--I tried maybe 18 months ago and I had a bad go of things. I've read lately that some of the problems I had have been remedied (most importantly better stack traces) and so I might just give that a go.

No matter what backend I choose, I'm going to build out a React/Redux front-end. I'm working with that on the job and I could use a little more time with it to become more comfortable. Also, I really think it's a good paradigm and that it's going to stick.

Anyway, lots of fun choices out there. If your efficiency isn't a top priority, I'd urge you to pick a language that looks fun. For me, Clojure is that option.

Why's it a bit dated? What can't you do with Rails and Ember?
There's nothing I can't do with it. I'm just considering learning something new.
For prototypes I'm either using Node + Express or Flask, depending on what I feel like that day or what database I need. I don't really like using MySQL with Node, I think it's easier with Python so if I need SQL, I'm in Python/Flask.
I use django. For starters, I use bootstrap and jquery for frontend but once the project matures and is here to stay, I shift to plain CSS. I also use plain javascript (for now the total LOC is <900) but may shift to some other lib when complexity increases.
I love Ruby and for the quick web MVPs I use sinatra + sequel.

I try to avoid JavaScript if possible... Setting up the JavaScript build/transpile system, installing dependencies, fighting the dependency version hell drains all the hype and productivity from my soul...

I agree that dealing with the front-end can be a drain sometimes, but unfortunately it's necessary for many types of MVPs that require a rich UI.

Do you have any such MVPs or projects you could share?

https://github.com/adnanh/rye - simple url-catcher on our slack channel (live at http://rye.hajdarevic.net/) (Using slack outgoing webhooks + https://github.com/adnanh/webhook for catching the webhook and running a simple shell script that parses the slack message and extracts all URLs and then hits rye with curl to store and crawl them)

https://github.com/adnanh/mikro - my personal micro blog that I mainly use to store interesting links (live at http://blog.hajdarevic.net/)

I'm currently working with a friend of mine on an MVP that we plan to offer as a service, and the source code is not open, but the stack is: React (JSX + ES6 + Webpack) + Tachyons for frontend, Ruby (Grape + Sequel) for frontend API, Golang for workers and processing, PostgreSQL as a DB and Redis for caching

Go(Lang) backend + plain html, jquery and gulp on the frontend. After doing Rails for a while, I was tired of the slowness and layers upon layers of abstraction. Go is simple in comparison - the language philosophy helps you keep everything close to where it's executing. No assumptions. I've borrowed some lessons from Rails in structuring my code (models are separate, api for controller logic, views are static pages that interact with the Api through JSON). The performance of my sites is so incredibly delightfully fast now, that I would never go back. Almost all of my server calls return back in microseconds. I'm rewriting all of my sites in Go now.
Working with a database in Go has been painful for me. Have you found this is the case in your projects?
Meteor.

Don't do it. It is quick and somewhat easy but just horrible. I need to stop being lazy...

Django if I need users/auth stuff, otherwise Express on the backend. On the frontend I use React and Redux, usually with a boilerplate like https://github.com/davezuko/react-redux-starter-kit
Rails backend, react/redux frontend.

I use the `create-react-app` which means no build config at the trade off of some nice-to-haves (CSS modules >_<)

React on a Node (express) server is a simple and powerful combo.
For web, I wrote my own http server with c++.

For desktop app I use c++/Qt.

For app I use ios/swift.

Do you use any front-end libraries for your web projects?
I don't use front-end lib that much.

I usually purchase a template from themeforest. I care more about the design, whatever the theme I purchase use, I just modify it from there.

Thanks for your answer.

I'm curious about what kind of projects you do with a C++ web server. Could you talk a bit about them?

The C++ server itself was my side project. I made it long time ago. I tried to create a blog with it.

https://github.com/shi-yan/Swiftly

Right now, I'm making a deep learning library. I want to create some simple dashboard ui for it.

I investigated few options. I don't like go. I know some node.js. I really wanted to use swift. But the swift framework, called perfect, crahes on my mac. So I decided to use my own framework. It integrates well with my deep learning library.

My personal go to is Rails + React
Eve