Creating a new Firefox add-on: XUL or Jetpack? - firefox

If you were going to start developing a new Firefox add-on today, would you still use XUL/JS or would you start using Jetpack, the new add-on framework?
The XUL way of creating add-ons will continue to exist on Firefox 4 but Jetpack is clearly building steam and I imagine it will become the only way of creating add-ons in the future.
Is it already the time to start looking to switch/migrate to Jetpack?

JetPack and XUL are not mutually exclusive. JetPack is a set of APIs that you can ship with an add-on that are tested by Mozilla and guaranteed to work. I'd suggest you start with JetPack, and if you need to do something more powerful, you can start adding XUL and other JS files to accomplish what you need. JetPack is designed to be simpler, but you can also step into the scarier world of extension development without issue.

I don't know yet Jetpack, but I coded a large extension for Firefox two years ago using XUL and it was really, really painfull.
I think Jetpack has to be better and simplier, and it's worth it to give it a try.

It depends on the size and scope of your add-on. If you believe it to be fairly simple, than I would start with XUL and only switch to the framework when you hit walls and find yourself saying "there must be a better way!"
I haven't used Jetpack, but I do agree with others here that XUL isn't always pleasant. It's amazing how often the documentation is missing some obviously key piece of information. Jetpack may smooth that over for you. Alternatively, you could help improve the documentation. :)

Related

When will Nativescript for Windows mature past the proof of concept stage?

The readme.md at https://github.com/NativeScript/windows-runtime says that the Windows runtime for Nativescript is in proof of concept stage, and then lists what I understand to be very deep language features that are not implemented yet.
The tone on the https://www.nativescript.org/blog/nativescript-runtime-preview-for-windows-10 announcement seems a bit more enthusiastic about the current feature set.
Being able to use Nativescript on Windows Phone (and any other platform) is incredibly appealing.
TJ, a core team member, recently posted on the forums about this:
Hey #NezzaGrey,
Thanks for reaching out, and awesome that you’re liking NativeScript :smile:. >Straight to the point though—we’re not actively working on UWP support because >1) it’s a ton of work to add a new platform and commit to supporting that >platform indefinitely, and 2) we’re not seeing nearly enough demand from our >community to justify taking on that work.
That doesn’t mean that UWP support in NativeScript will never happen, but it’s >not coming in the short term because we’re just not seeing the demand. That can >always change though. I’d encourage you to add your use case to the GitHub >issue open for adding UWP support in NativeScript: >https://github.com/NativeScript/NativeScript/issues/254. Yes, the issue is >somewhat ancient, but we really do pay attention to well-thought-out comments >during roadmap discussions.
I’ll note two other things. First, our initial work on making a Windows runtime >is completely open source and available on GitHub: >https://github.com/NativeScript/windows-runtime. We’d love to have community >?>help to make the new runtime a reality.
Second, one option you have is to build your iOS and Android apps with >NativeScript and Angular, and to use our code sharing approaches (see ?>https://www.nativescript.org/blog/code-sharing-between-web-and-mobile-with->angular-and-nativescript1) to share your Angular code with other apps. You >could take that approach to share Angular code between your NativeScript apps >and your UWP apps if you use something like Electron. This approach isn’t >ideal, as you’d probably prefer to build a completely native UWP app, but it’s >something to consider if you’re open to using Electron.
Anyways, hopefully you found some of this helpful. If you have any other >questions feel free to follow up.
Source: https://discourse.nativescript.org/t/windows-uwp-support/2659/3

firefox add-ons sdk vs XUL

I've just started creating my first firefox add-on and I'm currently in the learning stage, to familiarize with the api.
However I found a little ambiguous what method should I use. After I've read a few tutorials about how to build firefox add-ons using XUL, I realize there's another way:using add-ons sdk which from what I understand is only for firefox 4+ versions only.
I like better the sdk way compared with XUL, however to me the sdk looks like is still in early stage and lacks a few features(I think).
So my question is what road should I take? The new sdk way, which also looks a lot more cleaner than XUL, or to use the good old fashioned way:XUL(of which I'm not a big fan)?
After reading this post: http://blog.mozilla.com/addons/2010/12/09/announcing-add-on-sdk-1-0b1/ I think that the sdk is much better than XUL, however because it lacks a few features like sockets api , I can start my project only using XUL, or postpone it until the sdk will become more mature.
Waiting your thoughts about this problem. Thanks
PS: I'm not interested in developing add-ons for older firefox version(ff3.x)
Add-on SDK is perfect for simple add-ons. Also, it does have access to XPCOM if you need advanced features. So the main issue is UI integration - the options are very limited and nothing comparable to XUL overlays exists.

Web GUI frameworks for Phone development

I looked already and couldn't find anything good.
So a question is, are there any good web frameworks that would allow to easily develop GUI for the majority of high end phones? By this I mean
It would have to work "the same" on majority of high end phones (forget the low cost ones)
It would have to simplify the development and hide the ugly details from developer
Clear design and good documentation. Also some stability on the market.
The focus is on good looking and easy to make GUI. Javascript is only a plus.
So basically I am looking for something like jQuery or maybe ExtJS for phone development.
EDIT:
It would be a big plus if it could be consumed in Delphi
EDIT 2:
If it was not clear, I am looking for a web base solution that would run in a browser. So the target is HTML output and not native code.
To contribute to the subject. I found a question that has answers to such topic:
iWebkit vs. JQTouch vs. iUI
So there seem to be the following frameworks:
iUI
jQTouch
WebApp.net
iWebKit
Yahoo! Blueprint
JQTouch
PhoneGap
Sencha Touch
jQueryMobile
PhoneGap supports a wide variety of phones but it does so by making native (or interpreted I don't know) code to run on them, so it is a no go for me.
Yahoo! Blueprint supports a lot of phones also, but seems to need a special framework to run on. So also a no go.
jQTouch and WebApp.net look promissing, but they only support webkit based browsers. Yes these are in majority these days probably, but Blackberry for one has non webkit based browser and Blackberry is very important to me.
I will keep looking, in the meantime, don't be shy to contribute ;)
EDIT
Found this wiki about some frameworks. Most are embedded.
http://en.wikipedia.org/wiki/Multiple_phone_web_based_application_framework
EDIT2
I added Sencha Touch (www.sencha.com/products/touch) to the list as it was added after this post was created. They are the former ExtJS and now have the WebKit based mobile solution.
EDIT3
I added jQuery Mobile (http://jquerymobile.com/) to the list as it was added after this post was created.
Sencha Touch seams to be the solution. Since UniGui for Delphi/Lazarus already supports eye catching ExtJS it would be ideal if it extends to Sencha Touch. We will see.
I'm confused, do you want a web framework that runs on the web for phones (like jqTouch), or are you looking for something that will create native apps provides some amount of portability (like MonoTouch/C#)?
lightweight jquery-like alternative that works on android & iphone (& possibly blackberry & winmo) is xui, cfr. http://xuijs.com/documentation and http://github.com/brianleroux/xui.
edit: xui is more about javascript and less about a good looking GUI, so this might not be what you're looking for after all.
http://jquerymobile.com/
... when its released in "Late 2010".

What programming language is required to create a Firefox plugin?

What are the minimum programming requirements to create a Firefox plugin?
You need to learn XUL for the UI and Javascript for the programming.
more infos here:
https://developer.mozilla.org/En/Developing_add-ons
Firefox plugins (such as things like Flash player) are binary components you develop in NPAPI the cross-browser API for plugins.
Check out Mozilla Plugin Developer Center
You might also look into Firefox Extensions sometimes Firefox plugins are shipped as extensions. Firefox extensions modify or enhance the functionality of the browser itself. Javascript is primarily the language you'll be writing a Firefox plugin.
Check out the Mozilla Extensions Developer Center
Some Firefox plugins that come in handy when developing Firefox plugins are the Venkman Javascript Debugger and Firebug Javascript debugger
If you are into an organized style of reading, and prefer an good ol' book, start here.
http://www.amazon.com/Programming-Firefox-Building-Internet-Applications/dp/0596102437
It will get you started on the basics on XUL, which is in turn used to build the addons. If you have a touch in javascript, it will definitely help you.
Else,
Start here.
https://developer.mozilla.org/En
You can start learning what all you will need to start developing firefox addons, or even firefox itself.
If you are fairly proficient in Javascript and DOM, then, just jump here.
https://developer.mozilla.org/En/Developing_add-ons.
The only problem might be, they are as not comprehensive for a newbie programmer. If you have some professional background in programming, and can pick up a language from sample codes, then start here.
But I would definitely suggest a well organized book, like I mentioned above. There are very few XUL book in the market, this was my first google result, so just linked it here.
Search for XUL on http://www.amazon.com/.Choose one, atleast a book published after 2006-07.
[edit]
Just found out this good article
http://kb.mozillazine.org/Getting_started_with_extension_development
There seems to be a huge misunderstanding here; Are you trying to create a plugin or an extension? As Dougnukem stated, plugins have nothing to do with XUL or extensions. They are shared libraries (.dll, .so, or .dylib for win, linux, mac) that provide functionality that the browser isn't capable of alone.
If you're just getting started, I'd recommend looking at the FireBreath plugin framework and reading through some documentation. A decent place to start is: http://colonelpanic.net/2009/03/building-a-firefox-plugin-part-one/
Also, you still haven't selected an answer for this question; is that because you haven't found an answer yet, or because you've forgotten?
Advanced DOM, the Firefox API

Are there any good drag&drop web app IDEs out there that support AJAX?

Can anyone recommend a GUI builder tool for creating DHTML web apps using AJAX to communicate with a web service backend? I'd like to avoid having to mess around with designing HTML, marshalling/unmarshalling data, checking for browser compatibility, etc. The tool should have a library of widgets that can be put into an application and hooked up to functionality, and be extensible enough to be able to define custom widgets. Of course free and/or open source is preferrable but I would consider proprietary tools too.
Also to what extent does the choice of GUI tool affect what platform or language I would use for the backend? If the GUI is just calling a web service then I should be able to use anything on the server-side to provide that interface but maybe some gui-side tools use a proprietary data exchange format that requires some specific server-side code?
Edit: I don't need a widget that can be dragged, I want an IDE that allows one to build a gui easily (i.e. a RAD tool).
WaveMaker is open source, runs on J2EE.
If you're comfortable with Java, maybe you could try Google Web Toolkit? http://code.google.com/webtoolkit/
I'm using Wavemaker and it does exactly what are u asking...
It is really easy to use and very perfomant....
I believe Dreamweaver does some of this, but in my opinion such editors are not a good idea. They produce horrible, unmaintainable server-side code and are quite inflexible.
Wavemaker beats everything else I have used hands down. Applications can be developed rapidly, has drag and drop, can connect to any web service, and has unmatched database management tools. The only problem with it is that it has kept changing hands/ownership so much and its future direction is not clear.
Delphi for PHP from Codegear has some of this capability, but I would agree with ceejayoz that such tools don't necessarily make for nice code.
On Dan's suggestion I took a look at GWT. I'd heard of it before but never looked at it that closely and it seems pretty interesting. Certainly it takes away the annoyance of pixel pushing and making things work in multiple browsers. I also tried searching for "gwt rad tools" and came up with a couple of results:
Instantiations GWT Designer (commercial, $59/year)
Wirelexsoft Vistafei (still in beta but will have a free and a commercial version)
I'll take a look at these but if anyone's used something else let me know.

Resources