Building Enterprise JavaScript Applications - Daniel Li

Building Enterprise JavaScript Applications

Learn to build and deploy robust JavaScript applications using Cucumber, Mocha, Jenkins, Docker, and Kubernetes

(Autor)

Buch | Softcover
764 Seiten
2018
Packt Publishing Limited (Verlag)
978-1-78847-732-1 (ISBN)
48,65 inkl. MwSt
For most startups and tech firms, the cost of maintenance is many times higher than the cost of development. Writing understandable, consistent, and maintainable code from outset is the only way to prevent this. This book provides you with the tools to code a feature-rich platform which is not only maintainable but also scalable.
Strengthen your applications by adopting Test-Driven Development (TDD), the OpenAPI Specification, Continuous Integration (CI), and container orchestration.

Key Features

Create production-grade JavaScript applications from scratch
Build microservices and deploy them to a Docker container for scaling applications
Test and deploy your code with confidence using Travis CI

Book DescriptionWith the over-abundance of tools in the JavaScript ecosystem, it's easy to feel lost. Build tools, package managers, loaders, bundlers, linters, compilers, transpilers, typecheckers - how do you make sense of it all?

In this book, we will build a simple API and React application from scratch. We begin by setting up our development environment using Git, yarn, Babel, and ESLint. Then, we will use Express, Elasticsearch and JSON Web Tokens (JWTs) to build a stateless API service. For the front-end, we will use React, Redux, and Webpack.

A central theme in the book is maintaining code quality. As such, we will enforce a Test-Driven Development (TDD) process using Selenium, Cucumber, Mocha, Sinon, and Istanbul. As we progress through the book, the focus will shift towards automation and infrastructure. You will learn to work with Continuous Integration (CI) servers like Jenkins, deploying services inside Docker containers, and run them on Kubernetes.

By following this book, you would gain the skills needed to build robust, production-ready applications.

What you will learn

Practice Test-Driven Development (TDD) throughout the entire book
Use Cucumber, Mocha and Selenium to write E2E, integration, unit and UI tests
Build stateless APIs using Express and Elasticsearch
Document your API using OpenAPI and Swagger
Build and bundle front-end applications using React, Redux and Webpack
Containerize services using Docker
Deploying scalable microservices using Kubernetes

Who this book is forIf you're a JavaScript developer looking to expand your skillset and become a senior JavaScript developer by building production-ready web applications, then this book is for you.

Daniel Li is a full-stack JavaScript developer at Nexmo. Previously, he was also the Managing Director of Brew, a digital agency in Hong Kong that specializes in MeteorJS. A proponent of knowledge-sharing and open source, Daniel has written over 100 blog posts and in-depth tutorials, helping hundreds of thousands of readers navigate the world of JavaScript and the web.

Table of Contents

The Importance of Good Code
Using Isomorphic JavaScript
Principles of JavaScript
Writing in ECMAScript 2015+
Managing Version History with Git
Setting Up Development Tools
TDD Part I - End-to-End Tests
TDD Part II - Unit / Integration Tests
Deploying Your Application on a VPS
Continuous Integration
Security - Authentication & Authorization
Documenting Our API
Creating UI with React
E2E Testing in React
Managing State with Redux
Migrating to Docker
Container Management with Kubernetes
Managing States with Redux
Robust Infrastructure with Kubernetes

Erscheinungsdatum
Verlagsort Birmingham
Sprache englisch
Maße 75 x 93 mm
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Informatik Software Entwicklung SOA / Web Services
Mathematik / Informatik Informatik Web / Internet
ISBN-10 1-78847-732-4 / 1788477324
ISBN-13 978-1-78847-732-1 / 9781788477321
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich