New and Emerging Web Tech
Minutes from our 3pm Friday (November 8, 2019) session
We started talking about the technologies that people wanted to talk about. Many people in the room were comfortable with the basic LAMP stack. Some of the folks were working with Rails, Node.js, and other tech. Many had worked with Drupal, Backdrop, Wordpress, Backdrop, CiviCRM, and other tech geared toward smaller organizations.
Some discussion ensued about the desire from techs in some organization use "what the cool kids are using", and how sensible it is for non-profits with limited budgets to venture out onto the bleeding edge.
Here was the proposed outline for the conversation
- Docker + other container technology
- Hosting services
We then started discussing the last one first....
Languages folks want to work on
Using new ones (Go, Rust) versus older ones like Python?
Static compiled: Go, Rust, Swift
Functional: Haskell, Elixir
Headless and static websites
We discussed the advantages of static websites, which scale really well because the HTML is pregenerated.
What does "serverless" mean? Server spun up and spun down on a per-request basis. (like what AWS Lambda proports to do)
What does "headless" mean? Having a client-server split between a simple front-end system and a CMS that is responsible for the database work.
Distinction between headless-decoupled and static
- Headless - Website is actually processing data
- Static - no on-request processing. HTML is generated on change.
Content management systems vs headless
What's cool about CMS systems: you get all sorts of included bits that implement technology "for free".
The promise of static websites: Static sites allow the browser compose the data.
Static site generators
Github provides Jekyll-compatible static site hosting
Tools briefly discussed:
Static site generators promise greater security.
Example of a static site generator from 15 years ago: Bricolage.
Wordpress has a static site generator now.
Varnish and other caching proxies have program
Pantheon offers Varnish
- React - maintained/promoted by Facebook
- Vue.js - some folks in the room believe this is overwhelming than others. VueJS is good for custom filterable maps and events scheduling
- Angular - maintained/promoted by Google (see also HTML Web Components)
Is there an undercurrent we should be paying attention to? We're going through an adolescence as an industry. The good news: newer employees (e.g. interns in programs like GSoC or Outreachy) seem to catch on quickly. Huge companies distort the ecosystem and make it difficult to objectively evaluate options.
We dove into discussion of container management and orchestration technology like Docker, Kubernetes, and Swarm.
What is a container? VM that has the state saved.