In response, the mobile industry has spawned a rapidly growing ecosystem of cross-platform and cross-device frameworks2,
source code analyzers, libraries of reusable components, and other tools designed to accelerate and simplify multi-platform
development. New tools are constantly emerging, with new functionality, different capabilities, and strengths and weaknesses.
Developer preferences vary, particularly as new tools and capabilities become available. However, the basic themes don’t
change: to code less and accomplish more, to reuse and recycle across multiple platforms as much as possible, and consider
developing from scratch as a last resort. In addition, any tool or framework should be able to work with current and future
offerings, and not be locked into a particular platform or technology