Internet Native Applications

Steven Pack
7 min readintermediate
--
View Original

Overview

The article discusses the evolution of Internet Native Applications, highlighting the shift from traditional native applications to web-based applications that prioritize both utility and performance. It outlines how advancements in edge computing, WebAssembly, and new protocols like QUIC are set to redefine user experiences, making web applications feel as responsive as local applications.

What You'll Learn

1

How to leverage edge computing to enhance application performance

2

Why WebAssembly is crucial for achieving near-native performance in web applications

3

When to consider migrating services to the Edge for improved latency

Prerequisites & Requirements

  • Understanding of web application architecture and performance metrics
  • Familiarity with WebAssembly and modern web protocols(optional)

Key Questions Answered

What are Internet Native Applications and how do they differ from traditional applications?
Internet Native Applications are designed to combine the utility of web applications with the speed of local desktop applications. They aim to deliver a seamless user experience by leveraging edge computing, WebAssembly, and advanced protocols to minimize latency and enhance performance.
How will edge computing impact application performance?
As edge computing becomes more prevalent, applications will be able to serve requests from locations less than 10ms away from users. This will significantly reduce latency, making web applications feel as responsive as traditional native applications, thus enhancing user satisfaction.
What role does WebAssembly play in the future of web applications?
WebAssembly enables client-side code to run at near-native speeds within the browser, allowing developers to create more performant web applications. This technology is gaining momentum and is expected to bridge the gap between web and native application performance.
What are the new protocols that will support Internet Native Applications?
Protocols like QUIC are being developed to improve data exchange efficiency and performance for Internet Native Applications. QUIC offers better congestion control and faster connections compared to traditional TCP, making it suitable for high-performance applications.

Key Statistics & Figures

Edge service response time
less than 10ms
This is the target response time for services to be considered effective in enhancing user experience.
Disk seek time comparison
around 10ms
This is the average time it takes for a disk seek on an average desktop HDD, which is comparable to the time taken for requests to be served from the Edge.

Technologies & Tools

Frontend
Webassembly
Used to execute client-side code at near-native speeds in web applications.
Protocol
Quic
Facilitates efficient data exchange for Internet Native Applications.

Key Actionable Insights

1
Adopt edge computing strategies to reduce latency for your applications.
By moving services closer to users, you can significantly enhance the responsiveness of your applications, making them more competitive in a market that increasingly values speed.
2
Integrate WebAssembly into your web applications for improved performance.
Utilizing WebAssembly can help you achieve near-native execution speeds, which is essential for applications requiring high performance, such as gaming or data visualization tools.
3
Transition to new performance-based protocols like QUIC to optimize data exchange.
Implementing QUIC can lead to faster data transfers and improved user experiences, particularly for applications that rely on real-time data or require high availability.

Common Pitfalls

1
Relying solely on traditional cloud services can lead to increased latency and degraded performance.
As user expectations for speed rise, failing to adopt edge computing solutions can result in a poor user experience, making applications feel sluggish compared to competitors that utilize newer technologies.

Related Concepts

Edge Computing
Webassembly
Quic Protocol
Cloud Computing