Live data from Hacker News

Ask HN: What's your favorite way of getting a web app up quickly in 2018?

news.ycombinator.com

291–300 of 569 posts

Re: Ask HN: What's your favorite way of getting a web app up quickly in 2018?

#291
As someone who operates a consultancy which has deployed more than 5000+ web apps in the last quarter alone.

We exclusively use AWS Lambda, DynamoDB or if the app is complex, we use Amazon RDS.

For search - AWS Elasticsearch

Our preferred stack is Go + VueJS.

WHY GO?

It's much easier for our senior developers to ramp up a team of 10 developers on Go than say Python or Ruby. Suprinsgly, we have a few guys who are Go experts, they unblock all other developers when it comes to best practices or some weird bugs.

WHY VUEJS?

It's has been a lot easier for us to introduce this to our frontend developers than any other thing.

WHY NOT RAILS?

We found it difficult to make SPA apps in Rails and ramp period for developers is much higher than Go + Vuejs.

WHY NOT PYTHON?

I loved Flask but we really need Type checking, we are not able to sleep without it. And Go has enough of what we need. Yes, we've briefly experimented with Haskell, OCaml, Scala etc.... but way difficult for new devs.

WHY NOT JAVASCRIPT BACKEND?

We found it much easier to write backend code in Go.

IDE/DEBUGGER

I am a pro-VIM user myself but it's so refreshing and fun to watch new developers speed up on Gogland IDE and the debugger makes developing in Go much easier. This is something only old languages like Java or C# has. It's way more difficult for new developers to pick up Java or C# in our experience. They've way more features which our developers found confusing. So, Go stayed everything else was thrown out including Haskell.

VUE CLI

We use https://github.com/vuejs/vue-cli No it does not require deep knowledge of webpack. There are just a few guys on our team who knows webpack/vuejs/javascript inside out in extensive details, rest of the developers simply use their custom designed/documented template and it satisfies 100% of our frontend needs. They unblock everyone on our team if any developer gets stuck with webpack.

DEVELOPERS ARE OUR BIGGEST COST

Keep in mind, we do not have access to the best developers at the budget price.

TRAINING

We give new developers as much help and training as they need. Our developers can call the pro guys anytime (even on weekends) and our senior developers love the respect/rewards they get in return.

COST

AppEngine costs $30 a pop, for 90% apps which receive less than 100 hits a day, it's expensive. This is where Lambda wins.

CI

Multi-tenant CI is still a pain in 2018. Current workflow with Gitlab sucks. We wish we could have a simple file in our repo and make 1 curl call to run the CI without any initial setup. But it will eventually happen.

PAYMENT PROCESSING

If the SaaS product needs multiple payment methods like Stripe, Braintree, PayPal Bitcoins, Ethereum, Wire Transfer we use http://killbill.io/ which is multi-tenant, opensource and self-hosted. Previously, we were using WHMCS, Amember pro, and Chargify but it ended up costing way more and was a lot more fragile at the end, completely failing monkey wrench test and our new developers found it much harder to wrap their head around 3 different products. A customer has to simply enter their API credentials for the respective gateway (Stripe or PayBear or BitPay) and we integrate it in minutes.

BIGDATA

If we need complex large aggregation, we haul in Athena or BigQuery.

Our developers prefer BigQuery but Athena is sometimes cheaper in the long run and makes it way easier to import/partition your big data.

STREAM PROCESSING

If we need anomaly detection or preprocessing of statistics we use Kinesis streams.

Because of this setup, we primary run on an army of bootcamp graduates and we are able to provide really cheap service to non-profits and other companies who are not able to afford even a dedicated freelancer.

FORGET VALUE, WE WANT TO BE CHEAP

"Cheap" is a wrong word to use as a marketer/sales guy. But yea, since I am now in technical position, so I remove sales guy hate and wear tech hat, making our creation as cheap, robust and secure as possible while still satisfying the requirements.

WHERE IS THE FUN

We drive our major profits from AdTech business (which involves stressful high tech stuff but it's lot more fun) and consultancy is just to validate our solutions across a large number of our portfolio customers. We've to ensure, their setup is as cheap, robust and secure as possible.

IMPROVEMENTS

As I want to improve my strategies and methods as much as possible, feel free to challenge my choice. It should not just work for 1 developer but an army of developers and it should make it trivial to add more developers.

Re: Ask HN: What's your favorite way of getting a web app up quickly in 2018?

#292

For some reason people seem to constant doubt Ruby-ists and Rails Devs. I completely get that other languages have huge benefits over Ruby. Golang being compiled or Java running anywhere, etc... And ruby is slow, totally understood. But if youre talking about getting a functioning webapp up and running quickly ... no way anyone is beating a Rails dev in setting one up. The piping and scaffolding are all built in and…

It's hard for us to train new devs in Ruby and Rails. We've found Go to be superior in deployment + speed up on new developers.

Re: Ask HN: What's your favorite way of getting a web app up quickly in 2018?

#293

Vanilla php + html5up + sqlite3. Everyone else here is trying to be stylish and fancy. Your customers don't care what language it's in or whether the code is beautiful. No cutting edge incomplete frameworks, convoluted tooling, piles of inaccurate documentation to read, inexplicable cryptic error messages with a bunch of incorrect solutions on stack overflow, or other incompetently over engineered bullshit. Just go a…

What exactly is the benefit of using sqlite over mysql in this case? Is the 10-15 minutes you might save looking up a quick setup tutorial for the system provided packages really worth the later problems? Postgres is slightly more complex (but pays for itself with additional capabilities), so I can see avoiding that unless your are already familiar with it. As for PHP, at this point it's not really any easier or hard…

I usually go for Postgres, but I suppose one advantage is that backing up involves the filesystem rather than figuring out how to do a db dump. Not entirely sure if it's that simple though.

Re: Ask HN: What's your favorite way of getting a web app up quickly in 2018?

#294
post #27

Quickly? Firebase + React. Seriously, don’t overlook this combo. Auth just works. Hosting built in, no backend or database server to maintain. No API, just subscribe to a collection right from the view. It just works (and is easily swapped for the real deal if you need it). I made a guide/boilerplate to show you how (includes auth, CRUD, full text search, stripe subscriptions): http://getfirefly.org/

Just stripe subscription? Customers of my consultancy also require Bitcoin, Wire transfers and other payments. We use http://killbill.io/ now. It supports multi tenancy.

Re: Ask HN: What's your favorite way of getting a web app up quickly in 2018?

#295
Yesterday I setup my blog on Hugo. Very happy with that. Hugo is written in go but you only need to write markdown and deal with single config file. I managed to find theme that supprts overlay for images and various other options for images. Simplicity is the name of the theme. There are also themes with ready up forms, might be enough for your particular scenario.

Re: Ask HN: What's your favorite way of getting a web app up quickly in 2018?

#296
post #107

For some reason people seem to constant doubt Ruby-ists and Rails Devs. I completely get that other languages have huge benefits over Ruby. Golang being compiled or Java running anywhere, etc... And ruby is slow, totally understood. But if youre talking about getting a functioning webapp up and running quickly ... no way anyone is beating a Rails dev in setting one up. The piping and scaffolding are all built in and…

I’d say the slowness of Ruby is really over exaggerated. For most web applications it’s good enough, and the speed of development (how fast you can ship) almost always outweighs any costs from it being slow. You can always replace the endpoints that are slow with something written in a more performant language like Golang or Erlang later. I’ve worked on all sorts of applications from corporate CRUD to mobile billing…

I second that resources consumption with Rails on the production system is only a problem in specific settings (e.g. when your business model depends on many cheap transactions, or when you are running on diverse sets of hosts outside of your control… I'm looking at you, GitLab).

Nonetheless, as a junior Rails developer coming into a 5 people team on a mid-sized project, I saw a diverse set of performance problems during the development phase. E.g. asset pipelines that take ages to compile so that rapid development cycles become impossible or a test suite that took heroic efforts to get down to 15 minutes despite not really doing much computationally-wise. I'm open to alternative interpretations, but I've got the impression that in more performance oriented frameworks the best practice would not turn out to be setting up and tearing down half your server stack before and after each controller test, but instead we would have chosen abstractions that can be plugged together more efficiently.

Re: Ask HN: What's your favorite way of getting a web app up quickly in 2018?

#297
post #27

Quickly? Firebase + React. Seriously, don’t overlook this combo. Auth just works. Hosting built in, no backend or database server to maintain. No API, just subscribe to a collection right from the view. It just works (and is easily swapped for the real deal if you need it). I made a guide/boilerplate to show you how (includes auth, CRUD, full text search, stripe subscriptions): http://getfirefly.org/

I'm having trouble building with this. Can you elaborate a little bit more about the steps after adding adding all three project. I can't understand this

>> " Now let's connect our databases to our app by adding their "keys" to our app's environment ("env") files. You should generally keep connection keys like this secret, so first we'll rename our environment files to keep them from getting committed into git (the new filenames are listed in .gitignore). "

Re: Ask HN: What's your favorite way of getting a web app up quickly in 2018?

#298

.net core + vanilla js + azure + mssql (which is non visible if you stick to the framework) no need for FE framework unless you want a SPA. you can get free credits on azure and deploy via VS code/studio in a click.

i am interested in something like this, if i can ask a few questions,

- is azure beginner friendly, for someone who has never done web app before?

- how does azure pricing and support turn out compared to other services mentioned around here?

- would it be easy as well to use PostgreSQL or some other database?

Re: Ask HN: What's your favorite way of getting a web app up quickly in 2018?

#299
post #118

Earlier quoted context omitted.

If backend speed/scale is your concern I'd also throw a vote in for Phoenix. Lots of similar heritage to Rails but built on Elixir/Erlang instead.

Phoenix loses my vote for being quick to set up for a web application, because last time I used it, it didn't have a good authentication framework that worked with JSON APIs. What took ten minutes to set up using Devise in Rails took me two days using Coherence in Phoenix. Unless that's changed since I last tried Phoenix, I'd be hesitant to use it in the same niche as Rails.

I'm a huge fan of Phoenix, in part because it addresses the main issue I had with Rails (too much magic).

But I do agree that losing the huge ecosystem of gems is a significant downside. Hopefully that'll change over time, because other than that, Phoenix really feels like the next iteration of Rails to me.

Re: Ask HN: What's your favorite way of getting a web app up quickly in 2018?

#300

Vanilla php + html5up + sqlite3. Everyone else here is trying to be stylish and fancy. Your customers don't care what language it's in or whether the code is beautiful. No cutting edge incomplete frameworks, convoluted tooling, piles of inaccurate documentation to read, inexplicable cryptic error messages with a bunch of incorrect solutions on stack overflow, or other incompetently over engineered bullshit. Just go a…

>No cutting edge incomplete frameworks

So what, you rewrite a templating engine every time you want to make an application that outputs user data? Or are you reliant on making damn sure you always call htmlentities every time you echo something to prevent XSS? Are you sure you've not slipped up anywhere?

What about CSRF? Do you write your own filtering mechanism every time you make a web app to check for the existence of a CSRF token in all state-altering (e.g. POST) requests?

There are reasons people use frameworks. Security is one of them - I _love_ assessing apps which are written in plain PHP because they're almost always a trainwreck. You don't tend to see SQLi from devs who tend to use ORMs, nor do normally you see stuff like LFI if they're using a well-known templating engine.

Can you write secure code in PHP? Absolutely. But it's more effort and easier to get wrong.

Your client may not care about the technical details, but when the security assessment report says your PHP app has a stored XSS and an equivalent ASP.NET MVC app is safe..

Post reply on HN