I am developing an app and I think HTML and JavaScript are better for the future, but I cannot find any tutorials (I need the app to use the system theme).
Are there bindings for Unity, message menu and notification, couchdb and so on?
|
I am developing an app and I think HTML and JavaScript are better for the future, but I cannot find any tutorials (I need the app to use the system theme). Are there bindings for Unity, message menu and notification, couchdb and so on? |
||||
|
|
A good starting point for bindings and APIs on Ubuntu can be found on developer.ubuntu.com. I don't have any experience with it, but you will probably also want to look into Gjs, the Javascript bindings for GNOME. Depending on what you are trying to do, you could just build the app like any HTML + JS app and then throw it into a Webkit view. It's extremely simple to do in python:
|
|||||||||
|
|
You can develop using HTML + Javascript for the interface by using an embedded WebKit frame in a Gtk window (this is easiest to do in Python). The hardest part is communicating with the system from your HTML/Javascript application. You can do this by passing messages between Javascript and Python. You will, however, have to write the system logic as Python functions but this is pretty easy to do. Here is a simple example showing communication between Python and Javascript. In the example, the HTML/Javascript displays a button, that when clicked sends an array example.py
page.html
The only python code you really need to pay attention to here is the code from To run this make sure
|
||||
|
|
|
As far as accessing the platform directly, you should check out Seed. You might also take a look at UserWebKit, the Python3 library that provides the key functionality used by the Novacut and Dmedia UI (it's built atop UserCouch and Microfiber, BTW). After a lot of thought, I decided it was more interesting to not access the platform directly from JavaScript, because then you can optionally run the UI in a standard browser if you want. The Novacut architecture uses CouchDB to keep the UI and backend servers network-transparent. In the normal, single-computer case, the servers run locally on that computer. But you can likewise run the servers (and CouchDB) on other systems, without the UI noticing the difference. |
|||
|
|
|
Well you could include a language that can run shell commands like php and this way take advantage of stuff like installing apps from a webpage and executing some commands (Like detecting which theme to use and what CSS to use depending on the system theme). For example you have this two questions which might help: Can a server handle simultaneous shell commands? (Which talks about executing multiple commands) Run a line command from a web (Clicking in a webpage link) (Which talks about clicking on a link and installing an app from the software center) For a way to learn what theme is used you could parse the ubuntu file where it has the value for the default theme and depending on it modify the CSS of the site to reflect the new theme. Questions about theme and where to find it can be found here: What file I need to edit to change the text color in a theme? Editing GTK theme (adding a border) All of this (and more if you use the search) help you know where to look when parsing and what files you can check to see what theme the system is using and what to use in the web page then. |
|||
|
|
|
Yes, you can write apps in pure html/css/js and yes binding are available for JS using GObject introspection. Take a look at GnomeSeed https://live.gnome.org/Seed SeedKit: https://live.gnome.org/SeedKit Tutorial: https://live.gnome.org/Seed/Tutorial |
|||
|
|