Submitted by ranadeep bhuyan (@ranadeepbhuyan) on Friday, 24 May 2019
Section: Workshop Technical level: Intermediate
This workshop will teach and show how to develop heavy client applications in a scalable and performant manner. Process heavy application those are mostly desktop applications can be ported to the web to run on a browser thus avoiding installation, patching and maintenance over head.
WebAssembly Leverages the underlying native hardware such as PE and memory to scale efficiently. We will learn about Web Assembly which is a bytecode specification for writing performant, browser agnostic web components. It is a new cross-browser, portable assembly and binary format for web application.
WebAssembly is not very new idea, it was just not the right time to evolve it when it was conceptualized. Now the time has come that web community could leverage modern browser platforms to all compiled codes that belongs to a different type of byte code
Key Takeaways, why should you attend
- Learn how webassembly will impact web development in near future
- Challanges with desktop application and porting them to online
- Hands-on and functional knowledge of web-assembly
- The dare to move large applications online
- Best practices: Security and performance in regrards to w3c specs
- Learn to work with Emscripten with some advance features such as call WA api from JS and vice versa
Outline of the workshoop
- Quick introduction on WebAssembly
- Using in web-components (instead of React/Dojo)
- Simple demo WebAssembly app
- Table View
- Debugging in developer tool
- Growing memory
- Cool stuffs in WebAssembly
- Whole of AutoCAD runs of browser
- Loading MS word editor in native mode and same the document
- Intuit’s (QBO) use case
- Future of WebAssembly (examples)
- Run distributed code on visitors browser
- Ethical Mining
4 to 5 hours with couple of short breaks
Background Knowledge required
- Nice to have some idea of functional programming
- Basic understanding of computer programming/languages
Who should attend
- Developers/Architects who want to learn with a deep dive into wsm with some hands on webassembly and Emscripten
- WebComponent developers who want to do magic with lowlevel C/C++ code in browsers
- Engineering leaders, Tech leads who are maintaining any large system software with a pain of releasing new features and want to explore an option of moving to cloud
- Product managers who want to go online from desktop
What is not covered
- Attendence can come up with their systems with build environments, but we will stick to one or two such pre determined softwares.
- We will show how to start and move forward with a large software build system step by step - 4 hours is not enough to solve the entier system to convert into web-assembly. We will try to complete one or two end to end use cases.
Laptop with latest Chrome
dot net runtime
Ranadeep is a full stack engineer at Intuit. He contributes to design, development and architecture of solutions for complex engineering problems for QuickBooks and it’s customers.