[I am just starting to learn Phonegap].
I am wondering if there is a way to compile the code and so to prevent reverse engineering my app.
A question connected with the above:
can one person steal the code of another person written with Phonegap by just downloading his/her app from the app store?
There are tools that exist that can reverse engineer apps.
If you perform a quick google search on "reverse engineer apk" or "reverse engineer iOS app" you will get many results for tools or tutorials on how to reverse engineer mobile apps on Android and Apple.
It is technically feasible for someone to reverse engineer any app from the app store.
+1 to everything herm.wong wrote.
A few more thoughts:
1. There are obfuscation tools out there, and even some that try to use some form of encryption. It's important to know that these will not stop a determined individual from cracking your app wide open. Any code that runs on the client device can be traced, paused, tweaked, etc.
2. It is trivial to download an IPA or APK from an app store, give it a ZIP extension, extract it, and see the code. OTH, the same is also trivial for native apps, just with machine language instead of web code.
3. All of this is why you should never embed secret information in your code! Things like encryption keys, passwords, trade secrets, etc., can always be reverse engineered, even if the app is completely native.