Go is fast and bare bones, and works nicely as a backbone to an API (especially with a GraphQL intermediary). Postgresql plays very nicely with Go, especially if writing queries by hand.
Angular 2+ is great. Vue is also really nice, but I love what Typescript brings to the table and find that Angular being built around TS makes me enjoy it more than retrofitting Vue + TS definitions. I decided on Angular 2+ with great trepidation, but the bad rap carry-over from AngularJS turned out to be entirely undesreved. It's a wonderful framework, and I'm enjoying it greatly.
Also, a shout-out for AWS Lambda. I use it here and there for heavy workloads (personally I wouldn't replace my webserver with it entirely yet), and it made my server infrastructure MUCH more pleasant.
I have a question. How do you speed up the database CRUD operations when the number of records fitting a certain criteria may range to 10000 or more. It takes a lot of time to get this over the network and the user is not going to use/see all of it at once. Given such constraints, how do you speed up the query so that there's little to no lag time for the user(at least for say first 100 records).
It depends on what you mean by a website. If it's one level above a static page, a static site with frequent changes, I'll make my own build chain in Node.js with Gulp and host the pages in S3 and Cloudfront.
Or I will use Rails behind Nginx if the site is more dynamic. Each release would get built into a Docker image and be deployed that way. HAProxy would be there mostly to forward requests to multiple apps if there are any.
For a site that needs a lot of client side scripting, I use Ember. I'm so happy with it that I will probably use it with Fastboot for those times I would have used Rails. In terms of databases, I've been using CouchDB unless I had an overwhelming need for relational records. It saves time because CRUD and websocket/eventsource/longpolling come with it out of the box.
I can't speak highly enough of up, it's amazing for creating serverless(sic) apps without changing the way you structure your app.
I also use up for some python apps
If you haven't heard of it, check out https://vapor.codes. It's an absolutely amazing framework that is non-blocking in version 3. The performance you can squeeze out of it is unbelievable.
That site has some serious problems on my OS X Sierra/Chrome. Every time I load the tab it just freezes the whole browser. Great advert for all the claims they're making.
Excellent choice. Two of the best reasons to recommend:
1. Hiccup syntax is a great way to “template” HTML, being clojure-native data structures with the full power of the language available to you.
2. REPL-driven workflow makes it a dream to debug things like request handlers.
You will miss out on some perks from bigger/more popular frameworks—there’s no built-in admin panel waiting for you—but you can take advantage of the Lisp Curse here and quickly build out what’s missing. I find it’s a worthwhile trade-off.
[+] [-] rogual|8 years ago|reply
For dynamic apps that don't fit the Django model, I'll bust out Node.js, and for static sites, just a plain Python script to generate HTML files.
Boring choices, but the older I get, the more I'm OK with that :)
[+] [-] markfer|8 years ago|reply
[+] [-] kromem|8 years ago|reply
Angular 2+ on the frontend.
Why?
Go is fast and bare bones, and works nicely as a backbone to an API (especially with a GraphQL intermediary). Postgresql plays very nicely with Go, especially if writing queries by hand.
Angular 2+ is great. Vue is also really nice, but I love what Typescript brings to the table and find that Angular being built around TS makes me enjoy it more than retrofitting Vue + TS definitions. I decided on Angular 2+ with great trepidation, but the bad rap carry-over from AngularJS turned out to be entirely undesreved. It's a wonderful framework, and I'm enjoying it greatly.
Also, a shout-out for AWS Lambda. I use it here and there for heavy workloads (personally I wouldn't replace my webserver with it entirely yet), and it made my server infrastructure MUCH more pleasant.
[+] [-] m_fayer|8 years ago|reply
Jekyll if it doesn't need to by dynamic.
[+] [-] neverminder|8 years ago|reply
Backend framework: Play. Inspired by RoR, works with Java/Scala. Light, fast, scalable out of the box.
Database: PostgreSQL. Introduction is not needed.
Database library: Slick. Nothing beats compile time type safety.
Frontend language: Typescript. Better than pure JS hands down.
Frontend framework: Angular (5). Because Typescript is a first class citizen.
[+] [-] abhishekjha|8 years ago|reply
[+] [-] ravenstine|8 years ago|reply
Or I will use Rails behind Nginx if the site is more dynamic. Each release would get built into a Docker image and be deployed that way. HAProxy would be there mostly to forward requests to multiple apps if there are any.
For a site that needs a lot of client side scripting, I use Ember. I'm so happy with it that I will probably use it with Fastboot for those times I would have used Rails. In terms of databases, I've been using CouchDB unless I had an overwhelming need for relational records. It saves time because CRUD and websocket/eventsource/longpolling come with it out of the box.
[+] [-] spondyl|8 years ago|reply
For my personal site, I rebuild it in whatever language I'm trying to learn. In this case, I'm rewriting part of it in golang which I use at work.
[+] [-] jetti|8 years ago|reply
For fun, a mixture of VueJs and Elixir/Phoenix and ASP.NET Core
[+] [-] komuW|8 years ago|reply
Framework: https://github.com/apex/up
Hosting: AWS lambda
I can't speak highly enough of up, it's amazing for creating serverless(sic) apps without changing the way you structure your app. I also use up for some python apps
[+] [-] kromem|8 years ago|reply
I see that Up has a warming feature - is that sufficient enough to avoid slow requests for you?
Does the reliance on Up as a service make you nervous for using them for production? How much hot water would you be in if they close their doors?
Are you using Up Pro?
I know - lots of questions, but it seems like a neat offering I hadn't seen before, and I can't find any testimonials elsewhere online.
[+] [-] jimmy162|8 years ago|reply
If you haven't heard of it, check out https://vapor.codes. It's an absolutely amazing framework that is non-blocking in version 3. The performance you can squeeze out of it is unbelievable.
[+] [-] cutler|8 years ago|reply
[+] [-] bgdkbtv|8 years ago|reply
[+] [-] rs86|8 years ago|reply
We are really pleased with the performance of BEAM and the functional flavor of elixir clearly leads to code that is easier do read and to test.
We have been toying with Elm lately.
[+] [-] niftylettuce|8 years ago|reply
[+] [-] nkristoffersen|8 years ago|reply
Web apps: ReactJS on s3 hitting NodeJS API on AWS EB.
[+] [-] adtac|8 years ago|reply
For a quick prototype, I'd use Vue.js and Spectre for CSS. I suck at frontend anyway.
Deployed behind nginx.
[+] [-] kaniskode|8 years ago|reply
Jekyll hosted with Netlify for static sites.
[+] [-] matthewmacleod|8 years ago|reply
This is a great solution for general-purpose use, dropping React of course if there’s no need for interactivity.
[+] [-] EliRivers|8 years ago|reply
[+] [-] acdw|8 years ago|reply
[+] [-] jasonroot|8 years ago|reply
[+] [-] SnowingXIV|8 years ago|reply
Otherwise Rails with PostgreSQL.
[+] [-] tmaly|8 years ago|reply
I use libsass with bourbon.io and I have a Makefile to compile the binary, generate the css, minify things.
For blogging, I have used Wordpress
But I have recently started looking on moving over to Hugo to generate html using a bootstrap 4 template.
[+] [-] larryfreeman|8 years ago|reply
[+] [-] manitoo|8 years ago|reply
1. Hiccup syntax is a great way to “template” HTML, being clojure-native data structures with the full power of the language available to you.
2. REPL-driven workflow makes it a dream to debug things like request handlers.
You will miss out on some perks from bigger/more popular frameworks—there’s no built-in admin panel waiting for you—but you can take advantage of the Lisp Curse here and quickly build out what’s missing. I find it’s a worthwhile trade-off.