WebAssembly in Action


Book Description

Summary WebAssembly in Action introduces the WebAssembly stack and walks you through the process of writing and running browser-based applications. Expert developer Gerard Gallant gives you a firm foundation of the structure of a module, HTML basics, JavaScript Promises, and the WebAssembly JavaScript API. About the technology Write high-performance browser-based applications without relying only on JavaScript! By compiling to the WebAssembly binary format, your C, C++, or Rust code runs at near-native speed in the browser. WebAssembly delivers greater speed, opportunities to reuse existing code, and access to newer and faster libraries. Plus, you can easily interact with JavaScript when you need to. About the book WebAssembly in Action teaches you how to write and run high-performance browser-based applications using C++ and other languages supported by WebAssembly. In it, you’ll learn to create native WebAssembly modules, interact with JavaScript components, and maximize performance with web workers and pthreads. And you’ll love how the clearly organized sections make it a breeze to find the important details about every function, feature, and technique. What's inside Dynamic linking of multiple modules at runtime Communicating between modules and JavaScript Debugging with WebAssembly Text Format Threading with web workers and pthreads About the reader Written for developers with a basic understanding of C/C++, JavaScript, and HTML. About the author Gerard Gallant is a Microsoft Certified Professional and a Senior Software Developer at Dovico Software. He blogs regularly on Blogger.com and DZone.com.




Learn WebAssembly


Book Description

In the first definitive guide on WebAssembly, you’ll learn how you can wield this new technology to break through the current barriers of web development and build an entirely new class of performant applications . Key FeaturesGenerate WebAssembly modules from C and C++ using Emscripten and interact with these modules in the browser Learn how to use WebAssembly outside of the browser and load modules using Node.js Build a high-performance application using C and WebAssembly and port an existing C++ game to WebAssembly using Emscripten Book Description WebAssembly is a brand-new technology that represents a paradigm shift in web development. This book teaches programmers to leverage this technology to write high-performance applications that run in the browser. This book introduces you to powerful WebAssembly concepts to help you write lean and powerful web applications with native performance. You start with the evolution of web programming, the state of things today, and what can be done with the advent and release of WebAssembly. We take a look at the journey from JavaScript to asm.js to WebAssembly. We then move on to analyze the anatomy of a WebAssembly module and the relationship between binary and text formats, along with the corresponding JavaScript API. Further on, you'll implement all the techniques you've learned to build a high-performance application using C and WebAssembly, and then port an existing game written in C++ to WebAssembly using Emscripten. By the end of this book, you will be well-equipped to create high-performance applications and games for the web using WebAssembly. What you will learnLearn how WebAssembly came to be and its associated elements (text format, module, and JavaScript API)Create, load, and debug a WebAssembly module (editor and compiler/toolchain)Build a high-performance application using C and WebAssemblyExtend WebAssembly’s feature set using Emscripten by porting a game written in C++Explore upcoming features of WebAssembly, Node.js integration, and alternative compilation methodsWho this book is for If you are a web developer or C/C++ programmer keen to leverage the powerful technology of WebAssembly to build high-performance web applications, then this book is for you.




Rust Web Development


Book Description

Create bulletproof, high-performance web apps and servers with Rust. In Rust Web Development you will learn: Handling the borrow checker in an asynchronous environment Learning the ingredients of an asynchronous Rust stack Creating web APIs and using JSON in Rust Graceful error handling Testing, tracing, logging, and debugging Deploying Rust applications Efficient database access Rust Web Development is a pragmatic, hands-on guide to creating server-based web applications with Rust. If you’ve designed web servers using Java, NodeJS, or PHP, you’ll instantly fall in love with the performance and development experience Rust delivers. Hit the ground running! Author Bastian Gruber’s sage advice makes it easy to start tackling complex problems with Rust. You’ll learn how to work efficiently using pure Rust, along with important Rust libraries such as tokio for async runtimes, warp for web servers and APIs, and reqwest to run external HTTP requests. About the technology If you’re sick of cookie-cutter web development tools that are slow, resource hungry, and unstable, Rust is the solution. Rust services deliver rock-solid safety guarantees, an amazing developer experience, and even a compiler that automatically prevents common mistakes! About the book Rust Web Development, teaches you to build server-side web apps using Rust, along with important Rust libraries like tokio for async runtimes, warp for web servers and APIs, and reqwest to run external HTTP requests. The book is packed full of examples, code samples, and pro tips for setting up your projects and organizing your code. As you go, you’ll build a complete Q&A web service and iterate on your code chapter-by-chapter, just like a real development project. What's inside Handle the borrow checker in an asynchronous environment Build web APIs and handle JSON Compose a tech stack for asynchronous Rust development Handle errors gracefully Test, trace, log, and debug Deploy Rust applications to multiple environments About the reader This book is for web developers familiar with Java, Node, or Go, and the absolute basics of Rust. About the author Bastian Gruber was part of the official Rust Async Working Group, and founded the Rust and Tell Berlin MeetUp group. Table of Contents PART 1 INTRODUCTION TO RUST 1 Why Rust? 2 Laying the foundation PART 2 GETTING STARTED 3 Create your first route handler 4 Implement a RESTful API 5 Clean up your codebase 6 Logging, tracing, and debugging 7 Add a database to your application 8 Integrate third-party APIs PART 3 BRING IT INTO PRODUCTION 9 Add authentication and authorization 10 Deploy your application 11 Testing your Rust application




Web Components in Action


Book Description

Summary Web Components are a standardized way to build reusable custom elements for web pages and applications using HTML, CSS, and JavaScript. A Web Component is well-encapsulated, keeping its internal structure separate from other page elements so they don't collide with the rest of your code. In Web Components in Action you'll learn to design, build, and deploy reusable Web Components from scratch. Foreword by Gray Norton. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology The right UI can set your sites and web applications apart from the ordinary. Using the Web Components API, you can build Custom Elements and then add them to your pages with just a simple HTML tag. This standards-based design approach gives you complete control over the style and behavior of your components and makes them radically easier to build, share, and reuse between projects. About the Book Web Components in Action teaches you to build and use Web Components from the ground up. You'll start with simple components and component-based applications, using JavaScript, HTML, and CSS. Then, you'll customize them and apply best design practices to maximize reusability. Through hands-on projects, you'll learn to build production-ready Web Components for any project, including color pickers, advanced applications using 3D models, mixed reality, and machine learning. What's inside Creating reusable Custom Elements without a framework Using the Shadow DOM for ultimate component encapsulation Leveraging newer JS features to organize and reuse code Fallback strategies for using Web Components on older browsers About the Reader Written for web developers experienced with HTML, CSS, and JavaScript. About the Author Ben Farrell is a Senior Experience Developer at Adobe working on the Adobe Design Prototyping Team. Table of Contents PART 1 - FIRST STEPS The framework without a framework Your first Web Component Making your component reuseable The component lifecycle Instrumenting a better web app through modules PART 2 - WAYS TO IMPROVE YOUR COMPONENT WORKFLOW Markup Managed Templating your content with HTML The Shadow DOM Shadow CSS Shadow CSS rough edges PART 3 - PUTTING YOUR COMPONENTS TOGETHER A real-world UI component Building and supporting older browsers Component testing Events and application data flow Hiding your complexities




Hands-On Game Development with WebAssembly


Book Description

Make your WebAssembly journey fun while making a game with it Key FeaturesCreate a WebAssembly game that implements sprites, animations, physics, particle systems, and other game development fundamentalsGet to grips with advanced game mechanics in WebAssemblyLearn to use WebAssembly and WebGL to render to the HTML5 canvas elementBook Description Within the next few years, WebAssembly will change the web as we know it. It promises a world where you can write an application for the web in any language, and compile it for native platforms as well as the web. This book is designed to introduce web developers and game developers to the world of WebAssembly by walking through the development of a retro arcade game. You will learn how to build a WebAssembly application using C++, Emscripten, JavaScript, WebGL, SDL, and HTML5. This book covers a lot of ground in both game development and web application development. When creating a game or application that targets WebAssembly, developers need to learn a plethora of skills and tools. This book is a sample platter of those tools and skills. It covers topics including Emscripten, C/C++, WebGL, OpenGL, JavaScript, HTML5, and CSS. The reader will also learn basic techniques for game development, including 2D sprite animation, particle systems, 2D camera design, sound effects, 2D game physics, user interface design, shaders, debugging, and optimization. By the end of the book, you will be able to create simple web games and web applications targeting WebAssembly. What you will learnBuild web applications with near-native performance using WebAssemblyBecome familiar with how web applications can be used to create games using HTML5 Canvas, WebGL, and SDLBecome well versed with game development concepts such as sprites, animation, particle systems, AI, physics, camera design, sound effects, and shadersDeploy C/C++ applications to the browser using WebAssembly and EmscriptenUnderstand how Emscripten HTML shell templates, JavaScript glue code, and a WebAssembly module interactDebug and performance tune your WebAssembly applicationWho this book is for Web developers and game developers interested in creating applications for the web using WebAssembly. Game developers interested in deploying their games to the web Web developers interested in creating applications that are potentially orders of magnitude faster than their existing JavaScript web apps C/C++ developers interested in using their existing skills to deploy applications to the web




Istio in Action


Book Description

Solve difficult service-to-service communication challenges around security, observability, routing, and resilience with an Istio-based service mesh. Istio allows you to define these traffic policies as configuration and enforce them consistently without needing any service-code changes. In Istio in Action you will learn: Why and when to use a service mesh Envoy's role in Istio's service mesh Allowing "North-South" traffic into a mesh Fine-grained traffic routing Make your services robust to network failures Gain observability over your system with telemetry "golden signals" How Istio makes your services secure by default Integrate cloud-native applications with legacy workloads such as in VMs Reduce the operational complexity of your microservices with an Istio-powered service mesh! Istio in Action shows you how to implement this powerful new architecture and move your application-networking concerns to a dedicated infrastructure layer. Non-functional concerns stay separate from your application, so your code is easier to understand, maintain, and adapt regardless of programming language. In this practical guide, you'll go hands-on with the full-featured Istio service mesh to manage microservices communication. Helpful diagrams, example configuration, and examples make it easy to understand how to control routing, secure container applications, and monitor network traffic. Foreword by Eric Brewer. About the technology Offload complex microservice communication layer challenges to Istio! The industry-standard Istio service mesh radically simplifies security, routing, observability, and other service-to-service communication challenges. With Istio, you use a straightforward declarative configuration style to establish application-level network policies. By separating communication from business logic, your services are easier to write, maintain, and modify. About the book Istio in Action teaches you how to implement an Istio-based service mesh that can handle complex routing scenarios, traffic encryption, authorization, and other common network-related tasks. You'll start by defining a basic service mesh and exploring the data plane with Istio’s service proxy, Envoy. Then, you'll dive into core topics like traffic routing and visualization and service-to-service authentication, as you expand your service mesh to workloads on multiple clusters and legacy VMs. What's inside Comprehensive coverage of Istio resources Practical examples to showcase service mesh capabilities Implementation of multi-cluster service meshes How to extend Istio with WebAssembly Traffic routing and observability VM integration into the mesh About the reader For developers, architects, and operations engineers. About the author Christian Posta is a well-known architect, speaker, and contributor. Rinor Maloku is an engineer at Solo.io working on application networking solutions. ToC PART 1 UNDERSTANDING ISTIO 1 Introducing the Istio service mesh 2 First steps with Istio 3 Istio's data plane: The Envoy proxy PART 2 SECURING, OBSERVING, AND CONTROLLING YOUR SERVICE’S NETWORK TRAFFIC 4 Istio gateways: Getting traffic into a cluster 5 Traffic control: Fine-grained traffic routing 6 Resilience: Solving application networking challenges 7 Observability: Understanding the behavior of your services 8 Observability: Visualizing network behavior with Grafana, Jaeger, and Kiali 9 Securing microservice communication PART 3 ISTIO DAY-2 OPERATIONS 10 Troubleshooting the data plane 11 Performance-tuning the control plane PART 4 ISTIO IN YOUR ORGANIZATION 12 Scaling Istio in your organization 13 Incorporating virtual machine workloads into the mesh 14 Extending Istio on the request path




The Art of WebAssembly


Book Description

A a thorough, practice-based introduction to WebAssembly. Learn how to create high-performing, lightning-fast websites and applications. WebAssembly is the fast, compact, portable technology that optimizes the performance of resource-intensive web applications and programs. The Art of WebAssembly is designed to give web developers a solid understanding of how it works, when to use it (and when not to), and how to develop and deploy WebAssembly apps. First you’ll learn how to optimize and compile low-level code, debug and evaluate WebAssembly, and represent WebAssembly in the human-readable WebAssembly Text (WAT) format. Once you have the basics down, you’ll build a browser-based collision detection program, work with browser rendering technologies to create graphics and animations, and see how WebAssembly interacts with other web languages. You’ll also learn how to: Embed WebAssembly applications in web browsers and Node.js Use browser debuggers to evaluate your WebAssembly code Format variables, loops, functions, strings, data structures, and conditional logic in WAT Manipulate memory Build a program that generates graphical objects and detects when they collide Evaluate the output of a WebAssembly compiler The Art of WebAssembly will help you make sense of this powerful technology to boost the performance of your web applications.




Web Performance in Action


Book Description

Summary Web Performance in Action is your companion guide to making websites faster. You'll learn techniques that speed the delivery of your site's assets to the user, increase rendering speed, decrease the overall footprint of your site, as well as how to build a workflow that automates common optimization techniques. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Nifty features, hip design, and clever marketing are great, but your website will flop if visitors think it's slow. Network conditions can be unpredictable, and with today's sites being bigger than ever, you need to set yourself apart from the competition by focusing on speed. Achieving a high level of performance is a combination of front-end architecture choices, best practices, and some clever sleight-of-hand. This book will demystify all these topics for you. About the Book Web Performance in Action is your guide to making fast websites. Packed with "Aha!" moments and critical details, this book teaches you how to create performant websites the right way. You'll master optimal rendering techniques, tips for decreasing your site's footprint, and technologies like HTTP/2 that take your website's speed from merely adequate to seriously fast. Along the way, you'll learn how to create an automated workflow to accomplish common optimization tasks and speed up development in the process. What's Inside Foolproof performance-boosting techniques Optimizing images and fonts HTTP/2 and how it affects your optimization workflow About the Reader This book assumes that you're familiar with HTML, CSS, and JavaScript. Many examples make use of Git and Node.js. About the Author Jeremy Wagner is a professional front-end web developer with over ten years of experience. Foreword by Ethan Marcotte. Table of Contents Understanding web performance Using assessment tools Optimizing CSS Understanding critical CSS Making images responsive Going further with images Faster fonts Keeping JavaScript lean and fast Boosting performance with service workers Fine-tuning asset delivery Looking to the future with HTTP/2 Automating optimization with gulp




Flex3 in Action


Book Description

New Web applications require engaging user-friendly interfaces-and the cooler, the better. With Flex 3, Web developers at any skill level can create high-quality, effective, and interactive Rich Internet Applications (RIAs) quickly and easily. Flex removes the complexity barrier from RIA development by offering sophisticated tools and a straightforward programming language so you can focus on what you want to do instead of how to do it. And now that the major components of Flex are free and open source, the cost barrier is gone, as well! Flex 3 in Action is an easy-to-follow, hands-on Flex tutorial. Chock full of examples, this book goes beyond feature coverage and helps you put Flex to work in real day-to-day tasks. You'll quickly master the Flex API and learn to apply the techniques that make your Flex applications stand out from the crowd. Interesting themes, styles, and skins? It's in there.Working with databases? You got it. Interactive forms and validation? You bet. Charting techniques to help you visualize data? Bam! The expert authors of Flex 3 in Action have one goal - to help you get down to business with Flex 3. Fast. Many Flex books are overwhelming to new users-focusing on the complexities of the language and the super-specialized subjects in the Flex eco-system; Flex 3 in Action filters out the noise and dives into on the core topics you need every day. Using numerous easy-to-understand examples, Flex 3 In Action gives you a strong foundation that you can build on as the compexity of your projects increases. Purchase of the print book also comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book. You'll also get the Flex 3 in Action ebook and the Flex 4 in Action ebook upon its release both for free! Simply follow instructions on the insert to redeem your two free ebooks.




Blazor WebAssembly by Example


Book Description

Discover blueprints that explore various components of Blazor, C#, and .NET to help you build web apps without learning JavaScript Key FeaturesExplore complete, easy-to-follow web projects using BlazorBuild projects such as a weather app, expense tracker, and Kanban board with real-world applicationsUnderstand and work with Blazor WebAssembly effectively without spending too much time focusing on the theoryBook Description Blazor WebAssembly makes it possible to run C# code on the browser instead of having to use JavaScript, and does not rely on plugins or add-ons. The only technical requirement for using Blazor WebAssembly is a browser that supports WebAssembly, which, as of today, all modern browsers do. Blazor WebAssembly by Example is a project-based guide for learning how to build single-page web applications using the Blazor WebAssembly framework. This book emphasizes the practical over the theoretical by providing detailed step-by-step instructions for each project. You'll start by building simple standalone web applications and progress to developing more advanced hosted web applications with SQL Server backends. Each project covers a different aspect of the Blazor WebAssembly ecosystem, such as Razor components, JavaScript interop, event handling, application state, and dependency injection. The book is designed in such a way that you can complete the projects in any order. By the end of this book, you will have experience building a wide variety of single-page web applications with .NET, Blazor WebAssembly, and C#. What you will learnDiscover the power of the C# language for both server-side and client-side web developmentUse the Blazor WebAssembly App project template to build your first Blazor WebAssembly applicationUse templated components and the Razor class library to build and share a modal dialog boxUnderstand how to use JavaScript with Blazor WebAssemblyBuild a progressive web app (PWA) to enable native app-like performance and speedUnderstand dependency injection (DI) in .NET to build a shopping cart appGet to grips with .NET Web APIs by building a task manager appWho this book is for This book is for .NET web developers who are tired of constantly learning new JavaScript frameworks and wish to write web applications using Blazor WebAssembly, leveraging the power of .NET and C#. The book assumes beginner-level knowledge of the C# language, .NET framework, Microsoft Visual Studio, and web development concepts.