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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Local-First and Ejectable

139 点作者 yamrzou2 个月前

10 条评论

oDot2 个月前
I run an offline-first app[0] that has a sync mechanism (over Yjs). To solve server longevity we just sell you a lifetime license of the app and allow for file-based sync.<p>While I agree with the sentiment of the article most users do not even know what a server is, much less capable of self-hosting. Syncing a folder over Dropbox or Google Drive, though, is simple enough.<p>[0]: <a href="https:&#x2F;&#x2F;nestful.app" rel="nofollow">https:&#x2F;&#x2F;nestful.app</a>
评论 #43382411 未加载
评论 #43382976 未加载
samwillis2 个月前
I think this is a subset of the fifth (of the seven) ideals of local-first software <a href="https:&#x2F;&#x2F;www.inkandswitch.com&#x2F;local-first&#x2F;#5-the-long-now" rel="nofollow">https:&#x2F;&#x2F;www.inkandswitch.com&#x2F;local-first&#x2F;#5-the-long-now</a><p>&gt; Local-first software enables greater longevity because your data, and the software that is needed to read and modify your data, are all stored locally on your computer.<p>There are many ways to achieve this goal - open document standards, open source servers, a escrowed release of the server, or this idea of a bail out system for taking the current version and self hosting it. All are commendable.<p>Actually achieving all seven ideals is <i>hard</i>, and there isn&#x27;t much modern software that does it. But in my view anyone trying to achieve even a few of the ideals is making strides towards a worthy goal.<p>There is a lot of exciting stuff happening in the local-first software movement at the moment, and a lot of that is related the sync engines that are being built (disclaimer: I work for ElectricSQL, we are building one). These sync engine don&#x27;t inherently make your software local-first, fitting all the ideals, but they do make it a lot easer to do so. They are an important building block. But there is more needed, we need more open document standards - Automerge, Yjs, Loro and the other CRDT data structures are perfect lower level data structures to build these higher level abstractions on. Martin Kleppmann has talked quite a bit about sync engines that are disconnected from the underlying application, essentially pluggable sync engine, you choose who to use to sync you copy of a document or application - I&#x27;m excited to see where this goes.<p>But, we also need to free up the application distribution platform. The app stores are walled gardens that prevent some business models, native apps (while performant) are tied to a specific platform (or even version!), and the web is inherently tied to servers and browsers. The web platform though, i.e. JS, HTML, CSS, is perfect for building high longevity software that runs anywhere, on any device, the issue is the distribution. We need a middle ground, an application package that built on web standards, but isn&#x27;t tied to a server. I want to download a bundled app to my machine and have a copy, email to a family member, or even open and hack on it. Thats the final missing piece.<p>A downloadedable app, with an open and pluggable sync engine would achieve the same goles of this ejectable idea.
评论 #43385561 未加载
xz18r2 个月前
Not related to the topic, but I first came across Thymer about (I want to say) 2 years ago when I looked for a todo.txt GUI. I found the blog they used to document building it: <a href="https:&#x2F;&#x2F;80daystartup.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;80daystartup.com&#x2F;</a><p>Somehow, this thing is <i>still</i> not available for testing yet. Not hating but isn’t this supposed to be the category where new solutions launch every single day? While I am still very much interested, I’ve lost any hope that this will become a real thing to try out any time soon.
评论 #43384751 未加载
评论 #43383601 未加载
danjl2 个月前
If you use a local, browser-based database, and allow your app to be installed as a PWA, then you are ejectable? The only &quot;server&quot; is just a host for HTML+JS that your browser automatically downloads when you visit the site. The app runs locally, like a desktop app, inside your browser. No need for the items listed in the article.
评论 #43382178 未加载
评论 #43381789 未加载
评论 #43381917 未加载
wmf2 个月前
Most people use the term self-hosting (or self-hostable) instead of ejectable.
评论 #43381699 未加载
samsquire2 个月前
Thanks for the interesting article.<p>Is anyone not just me hesitant to run their own servers? I think about patching and it becomes a full on devops job to set up something safe and stay on top of upgrades etc.<p>One idea Ive had is that if the web facing part of the software is just a form saver. It persists the form to disk for retrieval by the local-first server that I run on my laptop after pulling all records.<p>Would like to talk to persons about this topic: local first and low-maintenance service design SAAS<p>I wrote about an imaginary cloud service that would be about hosting forms for batch processing later this is similar to the workspace.zip in this article but this is used for the app itself.<p><a href="https:&#x2F;&#x2F;www.halfbakery.com&#x2F;idea&#x2F;Secure_20Form_20Endpoint_20Service_20(SFES)_20(Web_20framework_20in_20the_20cloud)#1704113170" rel="nofollow">https:&#x2F;&#x2F;www.halfbakery.com&#x2F;idea&#x2F;Secure_20Form_20Endpoint_20S...</a>
dirteater_2 个月前
I&#x27;m currently building an offline-first app that has a custom sync between a local SQLite and Postgres (Supabase). The &quot;ejectable&quot; idea here is so good and I will definitely implement something that turns all your saved data into a spreadsheet with a few tabs.
评论 #43386302 未加载
kiitos2 个月前
&gt; Being able to run the server executable locally. This should allow you to simply open the workspace data and continue where you left off.<p>The &quot;server executable&quot; is where basically all of the value provided by these kinds of companies exists. If it were freely downloadable and self-hostable by customers, then the company would be giving away its main value prop, and would only be able to generate revenue by, I dunno, acting as a hosting provider? Those margins are tiny and always getting smaller. It doesn&#x27;t make sense.
评论 #43385369 未加载
评论 #43384983 未加载
评论 #43385711 未加载
NoelDeMartin2 个月前
This idea is very similar to what I&#x27;ve been working on for a while, local-first apps that synchronize data over a server that can be self-hosted. In my case, I&#x27;m using the Solid Protocol, and there are already many Open Source servers implementing this protocol.<p>If you&#x27;re curious, check out this app: <a href="https:&#x2F;&#x2F;umai.noeldemartin.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;umai.noeldemartin.com&#x2F;</a>
ezst2 个月前
Bar the multiplayer aspect, I recommend TriliumNext in the same space, whose sync story is quite neat and enables patterns where replication happens over a swarm of devices, enabling strong resiliency (and it&#x27;s fully open source)