Mobile application development is the set of processes and procedures involved in writing software for small, wireless computing devices such as smartphones or tablets.
Tuesday, 4 February 2014
Best Mobile Development Tools
A new technology's successful adoption often depends on its
development tools. Good tools help new developers more easily get
started and make experienced developers more productive. For instance,
the success of Microsoft's programming environment is closely associated
with the success of its Visual Studio tools.
Featured Resource
Presented by IBM
10 Ways to Build Better CRM Processes
When implemented properly, CRM and ERP can enable better sales, more efficient marketing, and drive
The J2ME (Java 2 Platform, Micro Edition) technology is still
relatively new. Strong development tools, especially IDEs, will greatly
help J2ME's adoption among wireless application developers. In this
article, I review four J2ME IDE products:
Borland JBuilder 7 Enterprise with MobileSet 3
Sun Microsystems' Sun ONE (Open Network Environment) Studio 4 Mobile Edition
Metrowerks CodeWarrior Wireless Studio 7
S5 Systems' jVise (based on IBM Eclipse technology)
Landscape of J2ME development tools
Different
wireless devices have different limitations in terms of memory size,
screen size, input methods, and computing speed. Also, vendors' J2ME
implementations might contain vendor-specific add-on APIs that leverage
special underlying hardware/OS features.
The diversified device
market naturally results in diversified development tools. Each device
vendor has its own SDK, device emulators, and performance analysis
tools. Some SDKs even come with their own build project-management and
source-code editing tools. One example is Sun's J2ME Wireless ToolKit
(J2MEWTK). J2MEWTK contains a reference implementation of J2ME/MIDP
(Mobile Information Device Profile) and has multiple device emulators
that run on Unix/Linux and Windows platforms. J2MEWTK also has
performance profile tools and real memory usage monitors. All those
tools can be administrated from a central control panel called kToolBar.
kToolBar can also build and package ready-to-deploy JAR/Jad programs
from development directories. However, mastering all these tools and
testing applications on all emulators can prove tedious.
You Might Also Like
A J2ME IDE eases development by integrating device vendor SDKs
with other tools. Developers can then have a unified IDE interface for
all supported SDKs. IDEs also improve developer productivity and the
quality of deliverable applications.
Who should use an IDE?
I
do not recommend IDEs to novice developers. Such developers must learn
several different things at once: the Java language, J2ME APIs and
packages, the IDE itself. An IDE's convenience features can easily
obscure what's really happening under the hood. You might end up
developing a set of skills tied to a specific IDE. IDEs can help,
however, if you already know what you are doing. They can automate many
tedious processes for an experienced developer.
J2ME IDE buyer's guide
I evaluated this article's J2ME IDEs according to the following aspects:
General productivity features:
I evaluated those features beneficial to all Java development projects,
not those specific to J2ME. Those features include editor,
project-manager, debugger, architecture-designer, and documentation
tools, plus tools for advanced programming techniques (refactoring, unit
testing, and so on).
Third-party SDK integration:
Support for multiple SDKs is a core feature for any J2ME IDE. But IDE
vendors have difficulties tracking and integrating support for each
individual SDK. The Unified Emulator Interface (UEI) specification
standardizes the programming interface between SDKs and IDEs.
UEI-compatible SDKs and IDEs are guaranteed to work with each other. In
my evaluation, I discuss what SDKs the IDEs support out of the box,
whether the IDEs support UEI, and how difficult it is to switch between
SDKs in a project.
Post-compilation tools: J2ME
applications are mobile applications that require a high level of
security and performance. Code obfuscation can prevent people from
reverse-engineering your class files and reduce code size. Special
optimization techniques are available from IDE vendors and their
partners. J2ME applications can also be post processed and optimized for
deployment devices based on the resources available for specific device
types. These post-processing, obfuscation, and optimization tools fall
into this post-compilation category.
Over-the-air (OTA) deployment support:
J2ME applications are often deployed over public wireless networks.
J2ME OTA specifications standardize the process for discovering,
downloading, authenticating, authorizing, verifying, and executing a
mobile Java application. OTA specifications require properly formatted
meta files on the server side and Java Application Manager (JAM) on the
mobile device side. The server also requires special configurations to
support OTA meta types. The OTA process can become quite complex with
the upcoming release of MIDP 2.0. An IDE should help generate those meta
files automatically. A good IDE should also integrate OTA-compliant JAM
clients to test the deployment within the IDE.
End-to-end mobile application development:
J2ME devices are not powerful enough to process or store large amounts
of information by themselves; J2ME applications are often thick clients
for some backend enterprise application servers. Thus, a first-rate IDE
should allow developers to build entire end-to-end projects. That
minimizes learning costs and project coordination efforts.
Documentation and tutorials:
Java mobile application development is a sophisticated process
involving many aspects of software engineering. IDEs provide tools to
automate many tasks; however, due to the development process's intrinsic
complexity, novice programmers often find it hard to use those features
correctly. Tutorials and detailed case studies prove essential for an
IDE's efficient adoption.
J2ME GUI (graphical user interface) builders:
Some IDEs have RAD (rapid application development) tools that allow
developers to construct mobile user interfaces visually. Those tools
appeal to developers from the desktop world—those familiar with J2SE
(Java 2 Platform, Standard Edition) RAD tools. However, use J2ME visual
GUI builders with caution: because wireless devices differ in screen
sizes, the same UI design might appear differently on various devices.
For example, a Palm PDA can display four command buttons in a row. But a
cell phone might ask you to choose from a list of four commands when
you click a Menu button. So what you see on the GUI builder might not be
what you eventually get on a particular device.
No comments:
Post a Comment