Press: Huang Xuan, the author of this article, is a front-end engineer of Wechat, a former front-end engineer of Taobao Travel, a member of GDG subtitle group, and a comment member of front-end external magazine.

In fact, my understanding of Progressive Web App (PWA) has been evolving over the past two weeks, and now it’s time to think more comprehensively.

First, from a technical point of view

On June 5, I shared “Progressive Web App – In My Points of View” on I/O Redux, giving a brief introduction to PWA and my perspective.

First of all, what is PWA?

The propaganda of PWA on the official website is the four keywords: reliable, fast, Engaging and safe; Click on the PWA home page, you will find Instant Loading, add self-screen, notification push, responsive, and the official tutorial is even better, giving 10 keywords at a time! Progressive, app-like, Fresh, Installable…

If you search the history of PWA, it first appeared in a blog post by Alex Russell, Googler, Progressive Web Apps: Escaping Tabs Without Losing Our Soul, the main idea of Escaping Tabs Without Losing Our Soul is that the Web should evolve in the direction of “incremental enhancement while preserving Soul” rather than the current trend of Hybrid apps.

Progressive means:

Web pages can be incrementally transformed into apps if the user wants them, such as being added to the home screen, running in full screen mode, working offline, pushing notifications, etc. But it’s still on the Web and not on the App Store.

All of these features “make the Web more comparable to apps” have been progressively enhanced to be better than traditional Web apps while ensuring degraded compatibility.

An example of PWA in the author’s Slides is the Chrome Dev Summit 2014 Web App. Gifs in Slides describe how it was “upgraded” from a Web page to an App: Speech.io – Share your Cloud Talk

What I understand about PWA:

The first is an “umbrella term” : leveraging a combination of modern Web technologies to provide the best experience on mobile devices (which continues to be adopted as Web technologies evolve);

Again, why target mobile? Because mobile is still the wave at the moment, and the Web was born on the desktop after all, the biggest disadvantage of the Web is still mobile for historical reasons.

The Chrome team has been saying “PWA: Deliver an app-like UX,” and it seems to me that the Main goal of the Chrome team’s current push into the Web is to “match Native apps.” (If VR does take off, maybe Web VR will become the focus of the Chrome team again)

What are the strengths of the PWA?

After looking at many sessions, there are four main ones:

1. Installability: The ability to add autoscreen and full screen. For this, I’ll just post a picture and say nothing:

2, App Shell: the first rendering renders a Shell, wait for the asynchronous data to come and then fill, this I also last picture:

3, Offline (Offline ability) : to put it bluntly, Offline and weak network environment can also be opened in seconds, but this is awesome. Isn’t that why Hybrid has been around for so long? There used to be this thing called Application Cache, but it was shit.

So Chrome created a Service Worker this time, giving the Web a thread that can run in the background, which can be cached with a very reliable Cache API, and can intercept all HTTP requests and use the Fetch API to respond. A very complete Proxy was born.

But when this offline ability comes to the browser level, it makes a whole different sense.

Re-engageable: To put it bluntly, it’s about the ability to push notifications right now. Push notifications rely on Service workers and HTTP pushes, but the default support is GCM… In the domestic coverage rate is certainly anxious, not to expand.

Slides also mentioned several examples and several recommended sessions. If you are interested in them, you can check them out by yourself. Here are two of them:

PWA is not Polymer only, just that Polymer is packaged for you. Several features that PWA currently uses are framework-Agnostic.

AliExpress being the only PWA on display in Keynote is something to be proud of; And it seems to be the only thing you can experience without a ladder…

What about my view of PWA from a technical point of view?

Disadvantages:

The threshold is not low (HTTPS required; Service workers also need to learn);

Browser support (mostly Safari didn’t want to support it, only mentioned in the 5-year plan);

User habits (getting users used to a web page working offline is not a short-term thing).

Advantages:

All of these modern Web features that I just mentioned;

Since these are “gracefully degraded, incrementally enhanced”, they give supported devices a better experience and unsupported devices no worse.

It can be seen that my evaluation of PWA is not so positive:

Aside from the many possibilities offered by Service workers, the others are nothing new; Even Service workers are faced with the age-old problem of Web development supported by browsers.

So why do we embrace and stick to the Web?

I particularly agree with The Mobile Web: Rahul, the Chrome product team Leader, said in the Session State of the Union: Dicoverable, Linkable, Low Friction, Broad Reach and so on are not the biggest advantages of the Web. The most important significance of the Web is Open and Decentralized, which is the original intention of the World Wide Web (WWW).

Yes, even Chrome can’t dominate the Web, and that’s what makes the Web really different. This is the power of openness and sharing behind the Web.

Second, the meaning of PWA, technology and beyond technology

PWA doesn’t seem to be so breakthrough, but it may just be from a developer’s perspective.

Everyone is familiar with the term “Ajax,” coined in 2005 to describe Web applications such as Gmail (2004) or Google Maps (2005), which heralded the Renaissance and popularity of Web client technology and became the biggest technological push of Web 2.0. However, the truth is that IE5 widely supported XML HTTP Requests and implemented Outlook Web App (2000) five years before the word “Ajax” was coined.

Technology does not require packaging. Mobile Web and even front end engineers wouldn’t be as important among all the Chinese masses, novice developers, product managers, and entrepreneurs if it weren’t for the spread of a bad word like “H5.”

As developers, we know that the Web has exploded in recent years, and there are more and more things we can do. But that may not be the case in the minds of a large number of people. If you make a Web product with a good enough experience, the first reaction may be: “This must be an App”.

And that’s exactly what the “PWA” is trying to solve, with a new buzzword that the Chrome team hopes will influence and change users’ expectations. As developers, we know that PWA is ultimately a web page, and of course, a better web page. But Chrome wants to make users feel different: “Oh, this is a normal web page; Oh, this Chrome tells me I can add to the home screen, it tells me I can go offline, it tells me I can push, it’s a PWA.”

That’s why Rahul has been stressing that Mobile Web is Business ready and working with companies to launch PWA. The Chrome team wants to show users that PWA is a Web App that has the same experience as an App but doesn’t have to be installed.”

A look at this new edition of the Washington Post shows that the term “PWA” is intended for users. There’s no such thing as an Isomorphic JavaScript App that gives all users a screen alert. But PWA can, and the concept is intended to be embraced by users, not just developers.

Also interesting is FlipKart, another google-trumpeted number one e-commerce company in India. They changed their official website to PWA and called it FlipKart Lite, and then made a promotional video and tutorial to publicly introduce the new experience and technology.

It was only after this discovery that my understanding of PWA finally took on a new dimension.

There are many dimensions to driving a technology, and you have to attract not only developers, but also users and companies (to get them to use the technology) to build an ecosystem. So whether it’s the App Store or Google Play it’s always about how many companies/developers we’ve helped succeed.

In this sense, “PWA” may have a bigger impact on the overall Mobile Web ecosystem than a simple technological breakthrough. It’s hard for developers to convince each other that one technology is better than the other, let alone users. We can’t say that “PWA” is a marketing word, but I do hope that this round of user marketing will be successful and change the perception of Mobile Web, which will solve the problem I mentioned above.

The development and decentralization of the Web often falls into a “no mom, no dad” dilemma from a business perspective. Rahul shouted “Google Love the Web!” from the stage. “, and then the audience broke into sparse applause, I was very sad to see.

The last round of Web apps with similar possibilities propelled Steve Jobs from The Curse of Flash, Joe Sr. said to the world at WWDC in 2008: The upcoming iPhone doesn’t have an SDK, but iOS 1.0 has Safari, and you can use Ajax+Web2.0 to create web apps that are comparable to native apps.

Finally, talk about the regionalism of PWA

A very interesting phenomenon is: “Apple favors China, Google favors India”. It’s not just about the composition of management, it’s about the survival of the fittest in the marketplace.

The world knows that The Chinese are tuhao, rich, able to buy, and vain, just like the iPhone tuhao. Although the network condition of China is now quite ok, but it happened that Google met a problem that can not be described, both positions suddenly heaven and earth.

India, as a whole, is still in the “third world”, with poor network conditions and no money to buy Apple, but it also does not have the characteristics of China. As a result, Google has been playing the low-price, low-hardware environment brand, which is thriving in India.

The promotion of Google’s technology in China itself is very painful, and the transformation of Android “Android” can gallop in China, but the development of PWA in China is fraught with difficulties:

Most iphones in China do not support PWA.

The browser in Android ROMs has already been changed to be humanoid, and there is no interest in PWA support – adding a home screen is not in my interest.

Native Chrome has a good market share on the domestic desktop, but it’s probably not as good on mobile.

Rely on GCM’s notification push and go straight to goodbye.

The Domestic Web environment is very complex, with various WebViews first and then the browser.

Domestic Internet companies mostly “deep technology”, all kinds of black technology is popular, where round get PWA.

In India, the PWA is a miracle:

Thanks to Google’s robust Android devices, which come standard with Chrome, PWA’s reach rate is almost 100%.

In India, it is painful to download an App due to poor Internet connection. A PWA that can be “streamed download” can completely explode Native apps on users’ first visit.

The Internet environment is still relatively primitive, mostly directly pro-Google, and the company’s approval rating will be very high.

So you see, AliExpress is the first to support PWA, but in China, that day will not be known for years.

Lei Feng net original article, prohibit reprint without authorization. See instructions for details.