问题: Software principles

Install-less software

+2  

The web is an install-less platform, but it only works for HTML/Javascript

YAML 想法

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.

chronological,



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

你的意思是如果一个应用程序有一个服务器组件,那么我们可以简单地授予浏览器安装它的权限而无需询问?听起来像一个安全风险,除非它被安装到一个孤立的环境中,比如 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.



    :  -- 
    : Mindey
    :  -- 
    

chronological,

我认为浏览器永远不会这样做。它必须是一个特殊的应用程序浏览器或一个在浏览器中注册为处理程序的应用程序。

我认为软件安装是过时的和遗留的。它只是没有必要成为一个明确的步骤。

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.



    :  -- 
    : Mindey
    :  -- 
    

chronological,

我们可以尝试通过制作浏览器扩展来快速制作您提议的初始原型,因为浏览器扩展可以与运行在 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.



    : chronological
    :  -- 
    :  -- 
    

Mindey,

仔细想想,浏览器只是一个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.