Skip to content
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

Add a development runner #5

Open
cweagans opened this issue Mar 7, 2013 · 2 comments
Open

Add a development runner #5

cweagans opened this issue Mar 7, 2013 · 2 comments

Comments

@cweagans
Copy link

cweagans commented Mar 7, 2013

This doesn't matter that much right now, as it's just a browser window that xulrunner is managing. However, if #4 has some work done (especially disabling the cross origin security stuff in Gecko), this will be really important.

Here's what I'm thinking:

  • Package a development app that's looking for the module of your choice.
  • When changes occur in that module directory, reload the development app.
  • Enable the developer tools (or at least firebug lite) for the dev app (I'm not sure if this is built in or if it's separate code you'd have to pull in from Firefox)

It's a bit like LiveReload in that way, but gives you the ability to test an application using cross domain ajax requests without having to rebuild the application all the time.

This, of course, would not be packaged in the real release packages - this is just for local development.

@motin
Copy link
Member

motin commented Mar 8, 2013

It would be useful with menu items for managing plug-ins and extensions which could be enabled for certain builds only. The app supports Firefox plugins and extensions already, albeit making it's management easier is what I expect this issue is about.

To manage plugins, decomment <!--<browser type="content" src="about:plugins" flex="1" width="100%" height="100%"/>--> found in modules/app/chrome/content/app/ui/main.xul and then run the app with a new profile (either by running with the -P switch or by deleting local profile directories). Running with a new profile ensures that the XUL is re-interpreted. This will include a plugin management view in that build.

Package a development app that's looking for the module of your choice. When changes occur in that module directory, reload the development app.

I believe this can be achieved already today using for instance Yeoman together with the LiveReload extension for Firefox

Enable the developer tools (or at least firebug lite) for the dev app (I'm not sure if this is built in or if it's separate code you'd have to pull in from Firefox)

Haven't tried this neither, but does the Firebug extension maybe work out of the box in the Wrapper?

If you try this, it is great if you could report back any problems encountered :)

@motin
Copy link
Member

motin commented May 15, 2013

Had some time to try this out, and can confirm the following:

  1. LiveReload works fine if you use Yeoman to build your webapp. While developing, have the port number in modules/app/chrome/content/app/ui/main.xul changed to 9000 and have grunt server running.
  2. Add Firebug Lite to your webapp (as you suggested), it works fine :)

As always, you can and will most likely develop your webapp outside of the wrapper and have access to ordinary developer tools.

As for LiveReload / Developer Tools for the XUL contents (the actual wrapper app), there is little I can do at the moment, but be sure to check out these docs, they may be helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants