-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: Modular architecture #1
Comments
This leaves two main interfaces / API surfaces to be defined; Kernel API
Package interfaceTwo surfaces have to be defined; To consider:
RDF Resource / RDF websiteMost data doesn't follow a strict structure which maps directly onto a view sensible for human consumption (which is what HTML+CSS currently provide). Like the web, the data is distributed and its structure cannot be known in advance, especially with the open world assumption. Rendering information is therefore distributed across the data architect, the producer, the publisher, and the consumer. To accommodate this distribution, I'm proposing to store information about which packages to install at those separate places;
Other possible package distribution methods; (app) store, vendor injection, sysadmin/group-policy. |
Common development surfaceIt can be expected to be valuable to have a consistent interface while loading packages from vastly different sources. Since the kernel will not provide any default views or middlewares, an important aspect for distributed development is a common foundational library. Some toolkit akin to gnome, QT, WPF, etc, to have a common development surface as per what type of components, topologies, and actions can be reliably expected to exist in a browser while not bloating the app with different versions/distributions of the same concept. When all actions are IRI's, different systems can consume the same actions, allowing for evolution of underlying technology while keeping the API consistent. |
ExamplesScientific publicationArchitectWho What View lookup ProducerWho What Why at this level View lookup PublisherWho What Why at this level View lookup ConsumerWho What Why at this level View lookup |
In a nutshell
This proposal makes for an application deployment platform like the current web, but based on the linked data principles
Changing the current implementation
The current system includes some views by default (e.g. address bar, extension manager, file manager), though these aren't really necessary to pre-include.
Drawing inspiration from how Unix systems work, the core only provides the base to get up and running from the developer console ('f12' console), then packages can be added on top which will give the application additional functionality. Users will be able to completely change all browser chrome and companies can create distros which have views and functionality tailored to their data pre-compiled.
*The web browser is used as a backwards-compatible infrastructure to deliver the RDF browser application. Technically any platform which can run the RDF browser will suffice
The text was updated successfully, but these errors were encountered: