
Hands-On JavaScript High Performance
Build faster web apps using Node.js, Svelte.js, and WebAssembly
- 376 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Hands-On JavaScript High Performance
Build faster web apps using Node.js, Svelte.js, and WebAssembly
About this book
An example-driven guide covering modern web app development techniques and emerging technologies such as WebAssembly, Service Workers, and Svelte.js to build faster, secure, and scalable apps
Key Features
- Discover effective techniques for accessing DOM, minimizing painting, and using a V8 engine to optimize JavaScript
- Understand what makes the web tick and create apps that look and feel like native desktop applications
- Explore modern JavaScript frameworks like Svelte.js for building next-gen web apps
Book Description
High-performance web development is all about cutting through the complexities in different layers of a web app and building services and APIs that improve the speed and performance of your apps on the browser. With emerging web technologies, building scalable websites and sustainable web apps is smoother than ever.
This book starts by taking you through the web frontend, popular web development practices, and the latest version of ES and JavaScript. You'll work with Node.js and learn how to build web apps without a framework. The book consists of three hands-on examples that help you understand JavaScript applications at both the server-side and the client-side using Node.js and Svelte.js. Each chapter covers modern techniques such as DOM manipulation and V8 engine optimization to strengthen your understanding of the web. Finally, you'll delve into advanced topics such as CI/CD and how you can harness their capabilities to speed up your web development dramatically.
By the end of this web development book, you'll have understood how the JavaScript landscape has evolved, not just for the frontend but also for the backend, and be ready to use new tools and techniques to solve common web problems.
What you will learn
- Explore Vanilla JavaScript for optimizing the DOM, classes, and modules, and querying with jQuery
- Understand immutable and mutable code and develop faster web apps
- Delve into Svelte.js and use it to build a complete real-time Todo app
- Build apps to work offline by caching calls using service workers
- Write C++ native code and call the WebAssembly module with JavaScript to run it on a browser
- Implement CircleCI for continuous integration in deploying your web apps
Who this book is for
This JavaScript book is for web developers, C/C++ programmers, and anyone who wants to build robust web applications using advanced web technologies. This book assumes a good grasp of Vanilla JavaScript and an understanding of web development tools, such as Chrome Developer tools or Mozilla's developer tools.
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
WebAssembly - A Brief Look into Native Code on the Web
- Understanding WebAssembly
- Setting up our environment to write WebAssembly
- Writing WebAssembly modules
- Porting C applications
- Taking a look at a major application
Technical requirements
- An editor, such as VS Code.
- Access to build and compile programs on our computer. This may mean needing administrator privileges in some environments.
- This chapter's code, which can be found at https://github.com/PacktPublishing/Hands-On-High-Performance-Web-Development-with-JavaScript/tree/master/Chapter13.
Understanding WebAssembly
- Understanding the flow of a basic program
- Setting up our environment to code WebAssembly
Understanding a program
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
Setting up our environment
- We need to get a program called CMake onto our system. For Linux/OS X, this just means going to https://cmake.org/download/ and running the installer. For those of you who are on Windows, this is a bit lengthier. Go to https://visualstudio.microsoft.com/vs/ and get Visual Studio. Make sure to get the C/C++ modules for it. With both CMake and Visual Studio on our machines, we can now move on and compile the WebAssembly suite of tools.
- Head to https://github.com/WebAssembly/wabt and clone to an easily accessible location.
- Open the CMake GUI tool. It should loo...
Table of contents
- Title Page
- Copyright and Credits
- Dedication
- About Packt
- Contributors
- Preface
- Tools for High Performance on the Web
- Immutability versus Mutability - The Balance between Safety and Speed
- Vanilla Land - Looking at the Modern Web
- Practical Example - A Look at Svelte and Being Vanilla
- Switching Contexts - No DOM, Different Vanilla
- Message Passing - Learning about the Different Types
- Streams - Understanding Streams and Non-Blocking I/O
- Data Formats - Looking at Different Data Types Other Than JSON
- Practical Example - Building a Static Server
- Workers - Learning about Dedicated and Shared Workers
- Service Workers - Caching and Making Things Faster
- Building and Deploying a Full Web Application
- WebAssembly - A Brief Look into Native Code on the Web
- Other Books You May Enjoy