Development Things to Know in 2019

Docker Containerization

Containers allow the team to create siloed environments (ex: PHP+MySQL+Apache) to develop and run projects inside of. These container configurations can be version controlled and shared between team members in order to quickly spin up the exact environment needed for a specific project. https://www.docker.com/

  • Offer the ability to create an environment with required specs for a given project
  • Container configs can be version controlled within project code repos
  • Drastically reduces the time needed to get a project up and running from one developer to the next (after initial setup)
  • Perfect for containerizing legacy sites

For more pros to using Docker see https://dzone.com/articles/top-10-benefits-of-using-docker


ES6 is different because it introduces new syntax, which was a needed transformation/ extension in Javascript. This would definitely help to meet the demands of complex applications written in Javascript. Let us go through the features that has given edge to ES6

Modern JS applications, libraries, frameworks and tools are written in ES6 so this is also a requirement to use some of the following technologies effectively.

  • Arrows functions
  • Classes
  • Modular import/export
  • Block scoping variables


React is a JS library that will allow the team to compose and maintain complex user interfaces.


  • Virtual DOM in ReactJS makes user experience better and developer’s work faster
  • Permission to reuse React components significantly saves time
  • One-direction data flow in ReactJS provides a stable code
  • An open-source Facebook library: constantly developing and open to the community
  • Allows the team to take on existing React projects brought to TKG by clients


Webpack is a module bundler for JS projects, used for bundling JS, Sass, Images, etc. into static asset bundles. https://webpack.js.org/

  • Dead asset elimination = unused css and images etc. are not bundled
  • Easier code splitting = unused css not bundled for specific pages
  • You control how assets are processed = leads to fewer asset requests
  • Stable production deploys = not missing images or outdated styles deployed
  • https://blog.andrewray.me/webpack-when-to-use-and-why/


As an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications. https://nodejs.org/en/about/ It is also used by build tools like Webpack in the development process. In addition to this requirement, Node.js used on the backend allows for full-stack JS development.

  • Better efficiency and overall developer productivity
  • Code sharing and reuse
  • Speed and performance
  • Easy knowledge sharing within a team
  • A huge number of free tools


Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications. This framework would allow the team to create fast, modern application solutions for clients. https://expressjs.com/

  • Great routing API
  • Great for beginner Node.js programmers
  • Support for a lot of plugins
  • Massive ecosystem of middleware
  • Has detailed information
  • Lightweight


MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era. No database is more productive to use. https://www.mongodb.com/

  • Flexible Database
  • High Speed
  • High Availability
  • Scalability
  • JS libraries for querying data


Gatsby is a free and open source framework based on React that helps developers build blazing fast websites and apps. https://www.gatsbyjs.org/

  • Modern web tech without the headache
  • Bring your own data = use a client’s Wordpress site as the data source
  • Future-proof your website
  • Serve static pages vs. waiting on pages to be generated on request
  • Built on React and bundled with Webpack = developer familiarity


A query language for querying databases from the client-side and for describing how a backend should serve data to the client. An alternative to RESTful APIs. Gatsby pages are built by using GraphQL queries to pull data specific to a given page. https://graphql.org/

  • Auto-generating API documentation
  • API evolution without versioning
  • Detailed error messages
  • Rapid application prototyping