How to Create a plugin for Titanium Mobile framework support

I would like to create a plugin to support building Titanium Mobile apps. I have no idea where to start. I am * basically * familiar with java but have not ever built anything in it. Here is what I would like to build into the plugin:

Run/Build Configurations: One of the primary reasons people stick with titanium, is that it easily sets up the building of the android and ios apps for their app stores. So I would like to create a similar system. when creating a "Titanium" project it auto created its proper build configs and when you run the respoective builds the first time (ios/android) it then asks for things like the keystores/password and where to build the app to. There are also some generic commands like "clean" to clean the build folder.

Alloy Support: Alloy is an MVC framework built on top of the core Titanium library. I could probably get examples of providing framework support like this from things like the cakephp or Yii framework plugins. I want to have a way for the user to quickly navigate between the view/controllers easily. Such as Goto view when in a controller, or other shorcuts to quickly edit things like tiapp.xml and so on.

Autocomplete: I would like ot have good autocomplete for the core titanium framework, as well as alloy.

That is mostly it for now. I am sure I will want to add others later. But the support shouldnt need to be too much. Basically I have no idea where to start. If there are any skeletons I could start from, or possibly another framework support library? And just modify it to be for titanium. Ultimately I want the end users to be able to create a Titanium or Titanium with alloy support project and have it create an initial base app skeleton as well.

Any help on what I can do would be great. I would also like to host this on github as well. Or if anyone has started this, I wouldnt mind helping with that.  Since Titanium is based on javascript, I would also like to have support for phpstorm, and webstorm.

Thanks.

Please sign in to leave a comment.