Silk-GUI / Silk

GUI for developers and Node OS
http://silkgui.com
BSD 2-Clause "Simplified" License
13 stars 5 forks source link

Apps run in their own child Processes #8

Closed formula1 closed 10 years ago

formula1 commented 10 years ago

Methods syntax remains the same however... you cannot define methods within the server scripts. They must be in an app script or we have to write a script that masks the server as a fork

I did my best to ensure it is completely backwards compatible so you don't feel like I'm making giant leaps

I installed async which I use in almost everything I do.

On the "todo" list, clean up the routing handler. Its very ugly and stores everything single request id inorder to ensure that whenever the process wants to send back it goes to the correct user. However, this expects a multiple user environment.

formula1 commented 10 years ago

Don't this yet, I need to fix a few things

formula1 commented 10 years ago

Ok, should work but a little messy. On my dev branch I made some drastic changes previously. Some of them I think are in line with your philosophy. App managers are in their own folder allowing you to switch between them rather than they be so intergrated with the core. However, I think we can take this a step further and just consider an app manager as if it was an application.

In my dev system I nearly completely removed methods in favor of direct communications. However, I think that goes against your philosophy so I avoided committing those changes

zodern commented 10 years ago

The changes look good, though I am getting an error when opening files. When it calls Silk/appDefaults, it returns the error method Silk/appDefaults does not exist.

I have been thinking about having the app manager as an app and I think it will be good.

In the dev branch, what are you doing for communication? I looked at the dev branch, and many of the changes are nice, though it will take me a while to figure out how everything works.

formula1 commented 10 years ago

I apologize for that, I'll fix it

For Communication, I'm making most everything extend an event emitter of somekind. For clientside there is...

For Serverside there is

Within Forks there is

I implemented a version of JSPath to do selections of applications on the server. Currently by calling

DocumentHost
    .get("applications",{jspath:'.{.category !== "manager" || !.category}'})
    .done(VueManager.load.bind(VueManager))

My hope is to also browserify this. As well as allow a variety of selectors in the future

zodern commented 10 years ago

There now is another problem. The app defaults is shown in the title bar. Would it work to not include it in the windows.json?

I like how you are doing communication.

formula1 commented 10 years ago

Btw, thankyou for the feedback.

At some point I'd like to merge my dev branch as I have built a simple task monitor and WebRTC application (It uses similar syntax as our server to client communications). In addition I enabled backwards compatability so you don't have to feel overwhelmed when getting your feet wet. The reason why its better is

That being said, I'll need some feedback on what to call each event in order to have some sort of continuity/Sense/Rhythim

zodern commented 10 years ago

I will try the dev branch, but the changes sound great.

In addition I enabled backwards compatability so you don't have to feel overwhelmed when getting your feet wet.

Thank you.