Live data from Hacker News

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

news.ycombinator.com

281–290 of 569 posts

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

#281

Earlier quoted context omitted.

Clojure has its own very effective strategy for multi-threading, and it is not the actor model. The language is built for concurrency and much careful language design was tailor-made for the challenges on modern threaded applications. Rich Hickey investigated the actor model considerably, and decided on a different model. In the core language, you have the choice of using its normal futures/threads with highly effici…

Yeah, that's nice for multi-threading but it does not seem as good for distributed systems. This is why I still don't know if I should invest in Clojure or Elixir. Can the REPL on the server be used to update production systems with no downtime?

Yes you can easily REPL into a live remote server and work with it while it is running. But more typically, the REPL-driven development happens on your own machine while you build, and then you just deploy the whole app. But it can be useful for remote debugging when necessary.

For distributed computing across multiple machines, you are right that the actor model has an edge there. Most applications don't require that, however. There is however Onyx and other tools for this in Clojure:

http://www.onyxplatform.org/index.html

I think the choice between Clojure and Elixir really comes down to how much your particular idea or requirement genuinely depends on the actor model. The vast majority of applications don't specifically require that, in which case you have more flexibility.

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

#282
post #270

I write the server-side in Go, cross-compile to a Linux binary, and set that up as a service on a vanilla Ubuntu box (usually Digital Ocean). Deploying a new version is a matter of sftp'ing the new binary (and any templates, images, etc) over the top of the old one and restarting the service. If I need a database then I use Postgres, and the setup for that can be a pain, so I get it documented/scripted using Ansible.…

Your start is good but you add complexity on top of it. Install Golang on your VPS, clone the source code on it and compile it there instead of messing with cross compilation. Also use sqlite to avoid the pain of setting up a SQL server, there is no need for it. You can then easily get systemd to supervise your binary. This is how I host all my web apps, the main difference is that I don't use Go but Nim. If you want…

Better would be to just use docker.

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

#283
post #270

I write the server-side in Go, cross-compile to a Linux binary, and set that up as a service on a vanilla Ubuntu box (usually Digital Ocean). Deploying a new version is a matter of sftp'ing the new binary (and any templates, images, etc) over the top of the old one and restarting the service. If I need a database then I use Postgres, and the setup for that can be a pain, so I get it documented/scripted using Ansible.…

Your start is good but you add complexity on top of it. Install Golang on your VPS, clone the source code on it and compile it there instead of messing with cross compilation. Also use sqlite to avoid the pain of setting up a SQL server, there is no need for it. You can then easily get systemd to supervise your binary. This is how I host all my web apps, the main difference is that I don't use Go but Nim. If you want…

> instead of messing with cross compilation.

To be fair, cross-compilation in Go is as simple as setting and environment variable.

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

#284

Earlier quoted context omitted.

They are bloated and they are not performant. If you are using Node and the main benefit of node is its asynchronous execution flow you would be shooting yourself in the foot by using an ORM and gaining all the overhead that comes from serialization and deserialization.

Your comment reeks of inexperience.

Haha, your comment reeks of inexperience. The thing you have namely not experienced is the pain of having to port an entire service to a different language because SQLAlchemy is as slow as a snail.

But yes, keep on using your ORMs because using a query builder is too hard. I'm sure your significant experience building services that will at most ever handle 2 QPS is very important to the software engineering world.

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

#285

Earlier quoted context omitted.

Yeah, that's nice for multi-threading but it does not seem as good for distributed systems. This is why I still don't know if I should invest in Clojure or Elixir. Can the REPL on the server be used to update production systems with no downtime?

Yes you can easily REPL into a live remote server and work with it while it is running. But more typically, the REPL-driven development happens on your own machine while you build, and then you just deploy the whole app. But it can be useful for remote debugging when necessary. For distributed computing across multiple machines, you are right that the actor model has an edge there. Most applications don't require tha…

I was just looking into Onyx right now actually, haha. It's the first result when googling for distributed clojure. Not quite sold on the model, I don't yet know how the internals work so it feels a bit too magic. But I only got a quick peek so it would be unfair to dismiss it.

The vast majority of apps don't require distribution but I'd like to use a model of computation that would support it when needed so as to avoid large refactoring. And, preferably, allow for code reuse with systems that are distributed.

EDIT: Watching a talk about the internals of Onyx made by the creator. I gotta say, I'm liking it more and more.

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

#286
I try not to do this as I never bought into the idea of evolving a prototype into a production app.

My first prototypes tend to be in create-react-app with session-storage (state dies with browser session).

After that if the use case seems solid I choose the appropriate tech for the job

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

#287
post #231

Earlier quoted context omitted.

In many areas of the US (the entire west coast for example), PHP is dead - plain and simple. Independent of whether it is good or not, selecting dead or obscure technologies for your clients is completely irresponsible and leaves them with a maintenance catastrophe just because you like php. Yes there is a lot of hipster-ism out there in platform choice but there are plenty of mature, fast, and popular options out th…

PHP is not mature or fast or popular? And PHP is very far from dead no matter where you are. In fact is getting a lot more interest now since PHP 7. If you don't like PHP that's one thing but what you said is just wrong.

PHP isn't dead, and it will never be dead, but as a long time and continuing professional Perl developer myself, let me tell you that you're better off just accepting that your language of choice isn't in vogue anymore.

It's not all bad once you're on the ass-end of history. I'm sure you can easily identify a few negatives being the language de jour bring (such as lots of shitty programmers joining the community all the time). Welcome to middle-age. ;)

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

#288
I try not to do this as I never bought into the idea of evolving a prototype into a production app.

My first prototypes tend to be in create-react-app with session-storage (state dies with browser session). I publish this as entirely static content on Amazon S3 (via CloudFront).

After that if the use case seems solid I choose the appropriate tech for the job

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

#289
post #121
post #114

Earlier quoted context omitted.

It blows my mind that there still isn't a polished ORM for the node.js / Express ecosystem.

Precisely this. I came from the Django world to try starting a Node.js project, and was absolutely blown away by how immature ORMs and even database libraries felt. In Python, you have SQLalchemy and Django ORM, both of which are fantastic and make ample use of the language. But for JavaScript, it felt like an uphill battle, especially if you want to do anything fancy. Of course you don't _need_ an ORM or at least yo…

Most Python libraries are a lot more mature than NodeJS libraries. This makes sense because they are also often a lot older. That being said, all ecosystems have their up- and downsides. Fpr example, I think package management for NodeJS is infinite amount of times better than for Python. Pipenv only came around one year or so ago.

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

#290

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…

PHP is like the Javascript of backend. Hate it all you want but there is nothing better to get shit done esp if you're a small team or working solo. Also it is super flexible too (much like JavaScript and babel) as in you can write strict OOP code or you can write plain php code inside Html in static files.

Isn't NodeJS the Javascript of backend?
Post reply on HN