views:

1130

answers:

3

I am planning to design an application XUL & XPCOM for proprietary system. So i have decided to use C/C++ but how can I start the development as a beginner in this field I cannot find a good guide to start around. It will be good if you can give some links and books. I also would like to know how to prevent the user from modifying the code specially in the view part because the logic can be done in XPCOM.

+2  A: 

XUL explorer is a tool that lets you drag and drop XUL. It's good for mocking up an interface or starting to learn about the various elements you can use.

xulrunner is Mozilla's binary that allows you to run XUL/XPCOM/javascript applications.

The Mozilla Developer Center is your friend.

If you use IRC, check out #xulrunner on irc.mozilla.org . They are fairly tolerant of some questions from beginners.

I don't think there's going to be away around allowing the user to see (or potentially modify) the actually XUL interface. There are some paths for trying to secure JavaScript in some way (some surface level, like obscuring, minifying, but then some possible secure loading methods). XPCOM can be written in C++ or JavaScript, to name a few, if you put more of your code in XPCOM it should be more secure, I think.

A fun start for seeing what you can do in XUL is to check out the XUL Periodic Table.

pc1oad1etter
what about the c++ interface programming? Anyway thanks for the xul guide..
yrcjaya
Sorry, don't know much about that. You can write XPCOM in C++ and use it with xulrunner, that's about all i know. See https://developer.mozilla.org/en/XPCOM
pc1oad1etter
A: 

Preventing the user from modifying your code is futile, as they will always be able to do this.

You could of course ship a modified build of xulrunner (containing some required XPCOM as well) which only loads jars signed by some key, but they could trivially hack around that by modifying the binary or the image in memory.

So don't bother trying to stop people modifying your code - you can't - unless you're on a trusted platform such as a games console - and even then it's not guaranteed.

MarkR
Mark, I've heard that Joost uses some kind of secure loading. Know anything about that?
pc1oad1etter
+1  A: 

This helped me to create my first XPCOM.

mojo