Install-less software
The web is an install-less platform, but it only works for HTML/Javascript
Theres no reason specifically why we can't ship non-Javascript code like how a browser ships HTML and Javascript. If you trust an application's sourcecode, you should be able to run an app by navigating to it.
In Android, we can bring up WiFi, Bluetooth and GPS by toggling it. Once a server side application is opened we can turn it on and off with a similar interface.
Register a data handler for magicapp:// in a browser and a hash to an app. The app is hosted on IPFS or equivalent.
The app is a bundle that incorporates source code for native apps, python or node js server and all dependencies.
Navigating to an app handles the download and installation in the background. No command line necessary..no starting of servers or migrations. That all happens automatically.
For compiled apps an estimated progress bar is displayed during compilation based on other users. The server will start automatifally and a browser will open the app.
See Cloudron, cPanel and other automated installers for how the install process would work. See web browsers for how easy it is to use an app.
A way of configuring software to talk to database etc
你的意思是如果一個應用程序有一個服務器組件,那麼我們可以簡單地授予瀏覽器安裝它的權限而無需詢問?聽起來像一個安全風險,除非它被安裝到一個孤立的環境中,比如 docker。然而,這聽起來像是一個空間和內存豬。授予瀏覽器權限以在 localhost 上安裝可執行文件需要一些安全工程,但總的來說,我認爲這個想法實際上比嘗試在瀏覽器上虛擬化所有內容要好。 [ ]
Do you mean that if an app has a server component, then we could simply give a browser the permissions to install it without asking? Sounds like a security risk, unless it gets installed into an isolted environment, like docker. However, that then sounds like a space and memory hog. Giving browser permissions to install executables on localhost would require some security engineering, but in general, I see this idea as actually better than trying to virtualize everything on a browser. [+]
我們會有一個單獨的應用程序,它可以理解應用程序清單和安裝說明,我稱之爲魔術應用程序,因爲它不存在。
Magicapp://infinityfamily/fh47fhr4838
安全性是這個概念的缺點。我只是喜歡點擊鏈接,說是,然後瀏覽完全安裝的軟件的想法。 Magic 應用程序會顯示一個對話框,可能是警告您正在安裝本機軟件。
沒有 FTPing 文件,運行 .exes,運行 apt get nginx php-fpm, ./configure
We would have a separate application that understands application manifests and installation instructions I call it magic app because it doesn't exist.
Magicapp://infinityfamily/fh47fhr4838
Security is the disadvantage of this concept. I just like the idea of clicking a link, saying yes, then browsing into the software fully installed. Magic app would show a dialog perhaps a warning that you are installing native software.
No FTPing files, running .exes, running apt get nginx php-fpm, ./configure && make && make install, npm run server, apt-get install postgresql-12
I would like a friendly pretty GUI of the compilation process. Perhaps showing a spinner and showing what file is being compiled.
It could do something smart like run Docker containers for some isolation security.
Flatpak and Canonical snaps try solve application packaging. JuJu tries to solve software configuration - I recommend giving it a look.
我認爲瀏覽器永遠不會這樣做。它必須是一個特殊的應用程序瀏覽器或一個在瀏覽器中註冊爲處理程序的應用程序。
我認爲軟件安裝是過時的和遺留的。它只是沒有必要成爲一個明確的步驟。
I don't think the browser would ever do it. It would have to be a special application browser or an app that registers as a handler in a browser.
I think software installation is antiquated and legacy. it's just not necessary for it to be an explicit step.
我們可以嘗試通過製作瀏覽器擴展來快速製作您提議的初始原型,因爲瀏覽器擴展可以與運行在 localhost 上的 HTTP 服務進行通信。因此,如果您將應用程序安裝程序作爲監聽來自瀏覽器擴展程序的命令的守護程序運行,那麼像 Infinity 這樣的應用程序可能會要求它安裝 yaml 規範。我認爲值得一試,稍後再考慮安全性。
We could try to quickly cook up an initial prototype of what you're proposing by making a browser extension, because browser extensions can communicate with an HTTP service running on localhost. So, if you run an application installer as a daemon that listens for commands from browser extension, then an app like Infinity could ask it to install a yaml spec. I think it's worth trying out, and thinking of security later.
仔細想想,瀏覽器只是一個UI協議,由W3C定義,主要功能不是瀏覽器,而是地址字段!你的想法啓發了Addresser App的一個相關想法。
When you think about it though, browser is just a UI Protocol, defined by W3C, and the main feature is not the browser, but the address field! Your idea has inspired a related idea of Addresser App.