概念: Software principles

Local first software

+2  

Software should be designed to work locally first, without needing a server side component

YAML 想法

Many new projects are written to be server side - that is run by a web server or written as a native mobile application

This makes it difficult to run the software locally, like a desktop application. You essentially have to self host the application to use the software yourself and lock it down with users if the server is on the internet.

Older software was local first - that is it saved files and the files were used to store the application's data. Traditional office applications are local first.

The problems with collaboration and local first software are solved by CRDTs and synchronization. See the category for distributed data storage.





(别通知) (可选) 请,登录

我真的很喜欢地方优先的想法......

I really like the idea of local-firstness...


“离线优先”软件有一个相关(但不完全相同)的概念。我想,区别在于软件交付模式,本地优先必须作为操作系统包或源代码交付,而术语“离线优先”通常用于表示 Web 应用程序,意思是由打开一个网站(这有点矛盾)。

There is a related (but not exactly the same) concept of "offline-first" software. I guess, the difference is in the software shipping mode, in that local-first has to be shipped as OS packages or source code, whereas the term "offline-first" is often used to mean the web-apps, meaning, shipped by opening a website (which is a bit oxymoronic).


语言