Computer methods and apparatus for efficient and automatic development and porting of computer programs for wireless devices are provided. Executables for wireless devices can be automatically generated based on the selection of the wireless devices, attributes of the wireless devices, information from libraries, resources, and a version of the source code. The number of executables can be minimized by grouping or sorting automatically the selected wireless devices into categories, where the number of categories is less than the number of the selected wireless devices. If a selected device fails to meet a grouping test criterion, then the device can be either excluded from being grouped into a category or grouped into a category that closely matches the attributes of the failed device. Executables for wireless devices can also be automatically generated based on the selection of the wireless devices, attributes of the wireless devices, translation information from specific libraries, resources, and a version of source code. The translation information can include wrapper routines and specific routines. When a wrapper routine is called or utilized, the corresponding specific routines are implemented in the final executables. A resource manager can generate resources by generating a plurality of series and a plurality of contexts, where one series can generate another one or more series automatically and simultaneously. A resource manager can also manipulate resources by sorting automatically resources by size, rearranging automatically the resources, reducing automatically the number of colors, and applying a filter on the resources based on a threshold.