TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Tiny PWAs and why I keep building them

406 点作者 helloworld超过 6 年前

19 条评论

emmanueloga_超过 6 年前
When I first heard someone talking about &quot;Progressive Web Apps&quot; I thought they were talking about &quot;Progressive Enhancement&quot; [1].<p>Turns out doing a PWA is just basically about using the &quot;Service Workers&quot; API [2] and the practices around that.<p>This nice article does a lengthy trace on the origins of the &quot;PWA&quot; term [3]. The same guy that started the &quot;Service Workers&quot; spec in Github [4] created the PWA marketing campaign, apparently. Makes me wonder why he thought it was more marketable to sell this PWA idea more than the simpler and more direct message: &quot;use Service Workers&quot;.<p>The PWA campaign also reminds me of the less successful &quot;Offline First&quot; campaign from a couple of years ago [5].<p>1: <a href="https:&#x2F;&#x2F;alistapart.com&#x2F;article&#x2F;understandingprogressiveenhancement" rel="nofollow">https:&#x2F;&#x2F;alistapart.com&#x2F;article&#x2F;understandingprogressiveenhan...</a><p>2: <a href="https:&#x2F;&#x2F;jakearchibald.github.io&#x2F;isserviceworkerready&#x2F;" rel="nofollow">https:&#x2F;&#x2F;jakearchibald.github.io&#x2F;isserviceworkerready&#x2F;</a><p>3: <a href="https:&#x2F;&#x2F;medium.com&#x2F;@amberleyjohanna&#x2F;seriously-though-what-is-a-progressive-web-app-56130600a093" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;@amberleyjohanna&#x2F;seriously-though-what-is...</a><p>4: <a href="https:&#x2F;&#x2F;github.com&#x2F;w3c&#x2F;ServiceWorker&#x2F;tree&#x2F;c49c878cdcbaf7a81e9e8cf3cca9970787017a19" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;w3c&#x2F;ServiceWorker&#x2F;tree&#x2F;c49c878cdcbaf7a81e...</a><p>5: <a href="http:&#x2F;&#x2F;offlinefirst.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;offlinefirst.org&#x2F;</a>
评论 #19072741 未加载
评论 #19072921 未加载
thosakwe超过 6 年前
There are only two real things limiting PWAs in my opinion:<p>1. Lack of support on iOS. I presume it’ll stay this way for a while (years!). Mobile Safari finally has service workers, but really, that’s about it. No support for “Add to Home Screen” (technically it’s there, but doesn’t work the way it does in other browsers), and a lot of other APIs.<p>2. The Web is missing some APIs that would really let it compete with native apps. I know there was WebNFC at some point, but it was dropped. No standard&#x2F;widely implemented API for reading contacts, sending texts, etc. Features like that would really push PWA over the edge and make it awesome.
评论 #19070269 未加载
评论 #19070408 未加载
评论 #19071845 未加载
评论 #19070392 未加载
评论 #19071411 未加载
varjag超过 6 年前
I&#x27;m amazed there&#x27;s a jurisdiction in a developed nation where driving a car with dead dashboard is legal.
评论 #19070119 未加载
评论 #19069595 未加载
评论 #19072074 未加载
评论 #19071400 未加载
wffurr超过 6 年前
What happens to your PWA page weight when you add tracking and ads to it?<p>How do I find your ad-free hobby project in the sea of search results for &quot;speedometer&quot; PWAs on the open web?<p>What makes sure you will keep paying the, admittedly modest, hosting costs for the app?<p>I think it&#x27;s great you can make &quot;tiny PWAs&quot; but I think the article is glossing over the incentives and discovery problem that leads to 30MB ad-infested utility apps on the play store.
评论 #19069302 未加载
评论 #19069128 未加载
评论 #19069321 未加载
评论 #19069173 未加载
评论 #19069138 未加载
评论 #19070849 未加载
评论 #19075433 未加载
albertgoeswoof超过 6 年前
&gt; “surely there is a app for that!” A quick look leads to speedometer apps with ads and 30MB download weight, and simple screen light that also have ads that weight in at 5MB.<p>I’m finally groking what rms has been banging on about for so long. It is completely unacceptable that we are running software that does this to the user. Users need to be empowered and able to run code that they can control.
评论 #19069487 未加载
评论 #19069662 未加载
评论 #19070005 未加载
评论 #19072286 未加载
评论 #19069294 未加载
评论 #19069819 未加载
saagarjha超过 6 年前
&gt; A quick look leads to speedometer apps with ads and 30MB download weight, and simple screen light that also have ads that weight in at 5MB.<p>I don’t see why this means PWAs are better than apps. There’s nothing stopping you from writing an app instead of a PWA in this case.
评论 #19069506 未加载
评论 #19069581 未加载
评论 #19069620 未加载
评论 #19069755 未加载
评论 #19069524 未加载
评论 #19069410 未加载
twic超过 6 年前
&gt; You see my car, a 2005 Prius, has a terrible glitch in the dashboard where the dash simply doesn’t work. No speedometer, no gasoline gauge, nada.<p>&gt; Both the above cases would lead one to say “surely there is a app for that!”<p>I note from his &#x27;about&#x27; page that the author is a proud and admirably public-spirited citizen of Oakdale, which proclaims itself &quot;Cowboy Capital of the World&quot;. Seems about right.
hartjer超过 6 年前
Introduce acronyms before you use them.<p>I&#x27;ll say it again for the people in the back.<p>Introduce acronyms before you use them.
评论 #19070251 未加载
评论 #19070277 未加载
评论 #19070753 未加载
评论 #19070440 未加载
评论 #19070703 未加载
Twirrim超过 6 年前
Holy crap it&#x27;s scary that he&#x27;s building his own speedometer like that. GPS based speedos aren&#x27;t all that accurate. Ballpark, sure, but not accurate. There are also many circumstances under which GPS won&#x27;t work.<p>In many countries a car without a functional speedometer is not allowed on the road, for safety reasons.
评论 #19070435 未加载
评论 #19070708 未加载
评论 #19073055 未加载
评论 #19072804 未加载
评论 #19070958 未加载
评论 #19072562 未加载
评论 #19070616 未加载
评论 #19070527 未加载
tokyodude超过 6 年前
Not sure if there is anything progressive about this but it&#x27;s small, has a manifest so it will supposedly get cached, and is installable I think. Wrote it for similar reasons, sick of ads.<p><a href="https:&#x2F;&#x2F;greggman.github.io&#x2F;interval-timer&#x2F;" rel="nofollow">https:&#x2F;&#x2F;greggman.github.io&#x2F;interval-timer&#x2F;</a>
BenoitEssiambre超过 6 年前
This made me think about building your own services vs integrating others and I can&#x27;t help to think rolling your own makes more and more sense.<p>I always come back to a paper some Netflix guys mentioned in a presentation I saw at a conference to make us appreciate how extremely hard integrating separate systems is : &quot;Hundred Impossibility Proofs for Distributed Computing&quot; (<a href="https:&#x2F;&#x2F;groups.csail.mit.edu&#x2F;tds&#x2F;papers&#x2F;Lynch&#x2F;podc89.pdf" rel="nofollow">https:&#x2F;&#x2F;groups.csail.mit.edu&#x2F;tds&#x2F;papers&#x2F;Lynch&#x2F;podc89.pdf</a>). The paper basically says there are at least a hundred walls that are mathematically proven to be insurmountable that you are going to potentially hit when trying to keep your data corruption free across systems.<p>This makes systems that keep data within the bounds of a non distributed, transactionally sound database like Postgresql comparably much more agile and powerful as you don&#x27;t hit these hundred plus walls.<p>After some high profile failures of integration like Oracle&#x2F;IBM&#x27;s &quot;Phoenix Pay&quot; here in Canada, after people tried to counteract the problems with sophisticated and costly CQRS layers to manage the connections, they are now noticing what was mathematically proven in that paper, that you can&#x27;t make a maintainable and reliable system when data is spread across too many different companies&#x27; servers. I think, at least for tech companies that know how to build stuff, that the trend is now to minimize holding data in a web of connected SAAS services, regrouping key data to their own transactional databases.<p>This trend has been helped by the fact that, it is now incredibly easy to build frontend and backend services tied to your own database. This &quot;Tiny PWAs&quot; article is a good example. This guy quickly built apps so that he didn&#x27;t have to deal with ad laden ones in the app stores. As a testament to their simplicity, these apps ended up being only 1.7KB and 800B. This would have been impossible just a few years ago.
tablethnuser超过 6 年前
This was cool and inspiring to read. I too enjoy making little apps to meet my needs and it was educational to see how someone else structures their tiny projects. Not just the projects themselves but also the lil domain they&#x27;re hosted at.
fggdgvcdderr超过 6 年前
What is a PWA?
评论 #19069131 未加载
评论 #19069212 未加载
gardaani超过 6 年前
If you want to see more PWAs, then go to the PWA Directory maintained by Google: <a href="https:&#x2F;&#x2F;github.com&#x2F;GoogleChromeLabs&#x2F;gulliver" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;GoogleChromeLabs&#x2F;gulliver</a><p>Interesting, there is one speedometer there, created 2-3 years ago. The source code is even available in GitHub. It seems that it isn&#x27;t easy to find PWAs? <a href="https:&#x2F;&#x2F;pwa-directory.appspot.com&#x2F;pwas&#x2F;5079866537934848" rel="nofollow">https:&#x2F;&#x2F;pwa-directory.appspot.com&#x2F;pwas&#x2F;5079866537934848</a>
评论 #19070378 未加载
hasperdi超过 6 年前
If you do like the programming challenge then fine. Speaking for myself, I spend too much time working with computers already. I just want a practical solution and spend time doing things I enjoy.<p>Speedometer app for example, I bought Ulysses Speedometer a long time ago. The price is almost nothing but over the years they maintained it well and added useful features. To me that is the most time and money efficient solution.
sdfjkl超过 6 年前
Your car dashboard is broken. Instead of fixing it, you write an app that provides a lousy workaround. Is this meant to be a bad example?
评论 #19071003 未加载
评论 #19070624 未加载
frereubu超过 6 年前
Tiny PWAs and why they don&#x27;t render until you force refresh on mobile Safari.<p>Edit: to be slightly less snarky, that was my experience of the linked site - just one long scrolling blank page. This could be a really simple HTML &#x2F; CSS page. Why do it as a PWA and add more points of failure?
评论 #19069203 未加载
评论 #19069119 未加载
myfonj超过 6 年前
System on my old laptop had somewhat broken battery indicator in systray, so I ended up using simple HTML page polling &#x2F; listening to navigator.battery changes [0] and displayed it, even in a &quot;graph&quot; form (in fact, just didn&#x27;t redraw old values, so it was a side efffect). That worked pretty well, but then whole API became obsolete because of fingerprinting abuse. Ah, days of yore.<p>[0] <a href="https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;API&#x2F;Navigator&#x2F;battery" rel="nofollow">https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;API&#x2F;Navigator&#x2F;b...</a>
kristianp超过 6 年前
I think it would be easier to build an Android&#x2F;IOS app if you already have the dev tools installed. Chrome APIs needed for web apps that interact with hardware are often unstable and not supported on all hardware or android patch from vendors. I built a simple app to submit links to HN, took maybe an hour, without much Android knowledge.