[TIMOB-8721] BlackBerry: Implement module API
GitHub Issue | n/a |
---|---|
Type | Story |
Priority | Medium |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2013-07-25T21:17:21.000+0000 |
Affected Version/s | Backlog |
Fix Version/s | 2013 Sprint 15 API, 2013 Sprint 15, Release 3.1.2, Release 3.2.0 |
Components | BlackBerry |
Labels | notable |
Reporter | Jean-Philippe Lemieux |
Assignee | Russell McMahon |
Created | 2012-04-13T11:41:45.000+0000 |
Updated | 2017-03-08T18:23:15.000+0000 |
Description
This is the api that will be available for 3rd party module extensions.
This api also needs to be well documented.
"The "Extending Titanium" set of guides might be a good starting point: http://docs.appcelerator.com/titanium/2.1/index.html#!/guide/Extending_Titanium_Mobile
There will need to be a C/C++ API for module developers. You can look at the API documentation
for Android and iOS to get an idea of what sort of native API we expose for extensions. Module
developers should be able to create their own proxy and views.
Need to also figure out how these external modules get compiled into the application.
I am guess module developers will provide some sort of static/dynamic library that gets
included into the application.
For application developers they use the require() function to load these external modules.
So you will need to add support into your require implementation to search for these external modules
if it can't find any files in the applications resources folder. For external modules we use the module's ID
string for the require lookup. Ex: require('com.my.module')
We also support external CommonJS modules. The Titanium Cloud module is an example of this type of module.
This document provides some details: https://wiki.appcelerator.org/display/guides/CommonJS+Modules+in+Titanium
Basically this allows module developers to distribute JS only modules. This works by extending the require() search path
to include these modules when the application developers adds them to their tiapp.xml section.
So I hope that gives you a good starting line. Feel free to ask for detailed questions on each of these requirements.
We should also loop in the module team and work closely with them on any requirements they require for
creating modules for BB.
--
Joshua Roesslein
Platform Engineer
Appcelerator, Inc.
jroesslein@appcelerator.com"
Bumping the priority as the modules we implement other than the core modules should be implemented using this api
This should be post GA
this is a duplicate of adding native module support
git pr: https://github.com/appcelerator/titanium_mobile_blackberry/pull/133
Closing ticket as resolved.