Applications are then text files with a .desk extension, the content directory is your "htdocs" directory and contains the html content of the application:
.desk files are associated with the deskshell binary, this just launches nodejs which in turn launches chromium portable. The result is then an "app" window served from the content directory:
Clicking on the links goes to page1.htm and page2.htm as you would expect. Clicking on Send "Hello" Message sends a socket message to the backend which replies with a hello message of its own and this is shown in an alert message.
Send ControlMe Message sends a socket message to the backend which then uses the debug api to re-direct you to appjs.com and then after 5 seconds you get returned to the application.
There is currently an error that only one app can run at the same time (the call to get the list of windows fails for the second app), but this was working earlier so is something we can fix.
I think that this shows that we can come a long way with this approach. When the new appjs binary lands we would be able to plug that in as an alternative backend so you can choose between chromium and appjs to host your application.
I have tried to document the solution but it is still very new so I am sure there are lots more docs needed. I thought we could create a deskShell app that has an api viewer, tutorial and some demos and distribute that with the installer so it will be easy to get started with.
Let me know what you think and everyone is welcome to play around with this and start making improvements.
/Simon
--
You received this message because you are subscribed to the Google Groups "appjs-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to appjs-dev+...@googlegroups.com.
To post to this group, send email to appj...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Sure, goals at the moment are to popup an application window with app running in it and remote debug connection. That is the base needed to build applications from.
Then after that basically we want to get the apps as good and native like as possible. We also want tutorials, example apps and documentation to make it as easy as possible for new people to get up and running with deskshell.
If you tell me what platform you are most comfortable with and what you think is fun to work with then we can agree on a plan of changes to make.
Another approach is to download the repository or installer and try to build a simple app with it. Write down what you learn and questions you have -- wiki should be open for you to make edits in. Then when you find bugs or limitations you can code solutions and issue pull requests for them.
Simon
--
I have now released version 0.8 of the windows port.Download is available from http://appjs.delightfulsoftware.com/deskshell/deskshell-install.exeIf you have previously installed the application then just click on deskshell-updater.exe and it will pull down the update for you.This is a major step forward from all previous versions. Applications are now defined by a app.desk file that is simple json. This allows you to select a front end (e.g. chromium or appjs) and a backend (e.g. nodejs or php). I have made a large number of bug fixes and general improvements so the platform is much easier to develop for.I have changed the default app that pops up if you don't give it any app to display to be an introduction to the deskshell platform. This application contains demos of different functionality, html documentation and hopefully some tutorials in the future. Since it is packaged with the sdk we can keep it in sync with the platform as we make changes.I have put the sample app up on a website for those of you that don't install the windows port. The buttons don't work on the site, but if running inside deskShell then they will function. The link is: http://appjs.delightfulsoftware.com/deskshell/demo-docs/The great thing is that now the work is changing to be more about the application api's and what you can achieve with the apps themselves rather than just the basic platform implementation.Of course no release is complete without a screenshot, so here is a shot of the new demo-docs app:
<image.png>
The page shows the launchApp functionality, you can provide a relative path to another .desk file and it will be launched as an application. The interactive section allows you to type in a path and then click "Launch Demo" to try to run the desk file.I have made a good start on the documentation so please ask questions or even better help me to improve the docs so it is easy to get started with deskshell.The platform is certainly usable for "html5 only" style applications that are mainly websites that you want to run locally. The socket functionality is also working well (I have fixed many bugs and strange things there) -- so you can send messages from the front end and have the back end write to disk, read a database, upload / download from a server and so on.I have not had much time to experiment with the remote debug api, but if we can play around with it a bit then we can create some good demo code to show how to do the most common tasks.
/Simon
{"name":"default","version":"0.2","author":"sihorton","description":"default app shown when you start deskshell","licence":"MIT","htdocs":"htdocs","main":"app.js","frontend":"chromium-portable","backend":"node"}
var running = deskShell.startApp({htdocs:__dirname+"/htdocs/",openSocket:true,launchChromium:true,exitOnChromiumClose:true,width:400});
/Simon,This is my first go at contributing to a shared github repoSo.I've forked appjs-deskshell and pushed 2x demos to my fork.I'm guessing you can review them there and then pull them into the main branch for testing on your system.I think the WebRTC demo will need some work on passing room ID's - open to ideas on that.Cheers,
Ok cool, it is just a demo, but as I know from experience many people copy and paste and then develop their app from a demo app. So make obvious what is fake and how to develop further.
I can see this being one of our best demos!
Simon
tar xvfz deskshell.mac.tgz
Hi Simon,
says that the infobar is thrown up when calling getUserMedia()
, which gives users the option to grant or deny access to their camera/mic.
"If your app is running from SSL (https://
), this permission will be persistent. That is, users won't have to grant/deny access every time."