Mobile app developers, especially freelance ones, mostly choose free development tools for their cross platform app development projects. Some of them are totally free, others are partially with paid plans. Today post will go over the tools so that we could see the overview of them and choose the best one for our coming work.
What
|
Pros
|
Cons
|
|
Apache Cordova |
·
Apache Cordova is first on this list because
it powers the build process for most free cross-platform mobile application development tools, and many that aren't free, for that matter.
·
Formerly known as PhoneGap, Adobe released
Cordova as an open-source project which, as of this writing, has received
contributions from BlackBerry, Google, IBM, Intel and Microsoft.
·
The majority of cross-platform mobile
application development tools on this list, both free and paid, use Cordova
to package a single codebase into a native executable. Cordova first bundles
HTML, CSS and JavaScript into a client-side package. Then, the software
executes and renders the custom code within a native WebView — this is known
as the “hybrid” application technique. The hybrid approach provides a
Write-Once-Run-Anywhere solution (WORA).
|
· Cutting out the middleman. By working
directly on top of Cordova, developers have access to the latest updates from
Apache’s team.
· With each version, Cordova gains access to
critical OS enhancements. These enhancements may improve Cordova’s performance
and provide it with access to new APIs.
· Build right on top of Cordova and you’ll
never miss out.
|
· Cordova is UI and framework-agnostic. It
leaves all the design and architecture decisions to the developer.
· This may not be an issue if you’ve built
mobile-first websites before. But if this is your first time working on a
mobile application, consider a framework that does a bit more hand-holding.
· And according to StackOverflow’s developer
survey, developers dread
working with Cordova above all others.
|
Adobe
PhoneGap
|
· The
actual PhoneGap product is separate from Apache Cordova. As stated above,
PhoneGap was originally the basis for Cordova, but is now a standalone
product powered by Cordova—times they are a changin’. The primary benefit
Adobe provides with PhoneGap is a GUI build system that abstracts the command
line messiness of Apache Cordova.
· By
providing an interface to build Cordova applications, PhoneGap simplifies the
process and gets developers working sooner. PhoneGap also offers an
application server you can run from your machine to host your apps over the
network. The server accelerates the build→run→revise loop so developers can
spend more time coding and less time running, compiling, and deploying manual
updates.
|
· Providing
a GUI build system and template projects to help kick-start hybrid
development (one of those templates includes another tool on this list,
Framework 7).
· PhoneGap
also has the continued support of Adobe and hundreds of open-source
developers.
|
PhoneGap
does not have a strong opinion on how to build applications. So while it
simplifies Cordova, it will not hold your hand much further.
|
Ionic
Framework
|
· In
the previous section, I revealed that PhoneGap is a thin layer above Apache
Cordova that improves the hybrid development experience without forcing an
application paradigm or structure onto the developer. For a similar yet more
opinionated tool that provides an excellent development experience, consider
the Ionic Framework.
· Ionic
combines Angular with its own UI library to provide a cross-platform mobile
application development experience that many web developers will find
familiar. They find it so familiar in fact, that Ionic has become synonymous
with cross-platform hybrid development. More so than PhoneGap, actually.
However, Ionic’s mobile build process relies on PhoneGap and therefore also
inherits all of Apache Cordova’s plugins.
|
· Ionic
is the world’s prevailing hybrid cross-platform solution because it allows
web developers to continue using the front-end framework many of them are
familiar with: Angular.
· By
incorporating Angular into their framework, Ionic eases the transition from
web to mobile development. Ionic also supports Progressive Web Applications
that run in Chrome, and hybrid desktop applications enabled by Electron.
|
|
Framework
7
|
· Framework7
provides an application framework (built on Vue.js) and a host of ready-made
interface elements that mimic native interfaces. This tool recreates standard
iOS designs and Google’s Material Design patterns to replicate the “native
look” mobile users expect. Here’s an example of how Framework7 helps
developers make carbon copies of iOS designs:
· Framework7
also allows developers to customize the interface — these built-in themes are
merely guidelines that can shorten development time.
|
· Framework7
adds two critical layers to Cordova application structure and interface
elements. If you’re willing to sacrifice a little control, you will gain
plenty of out-of-the-box capabilities with Framework7.
· These
features will accelerate your development cycle when compared to working with
Cordova directly.
|
· There
is no guarantee the Framework7 community will remain active and consistently
incorporate the latest designs from Cupertino and Mountain View, potentially
leaving applications looking out-of-date.
· Framework7
is also highly opinionated. If you’re not a fan of Vue or are unwilling to
learn, you will have to look for another tool.
|
Apache
Weex
|
· This
is another one of the Apache-sponsored free cross-platform mobile application
development tools. The developers of Weex combined the idea behind Cordova
with a runtime JavaScript interpreter. Their tool generates native
experiences from a single source code whereas Cordova executes JavaScript and
renders HTML in a WebView. Weex interprets HTML and renders it dynamically
using native view elements.
· Like
Framework7, Weex provides UI components out of the box. But these elements
translate to their native counterparts during interpretation, thereby
boosting performance considerably. And like Cordova, Weex has a strong community
of independent developers that contribute new design and interface plugins to
keep the platform current.
|
· Performance.
Weex will execute JavaScript applications at near-native speeds.
· And
users will find it difficult to distinguish a Weex application from a native
one: both employ native UI elements whereas hybrid (WebView-based apps)
render HTML and CSS directly.
|
· Weex
is not fully endorsed by the Apache Software Foundation. It is currently an
incubation project. And developers will not be able to port apps written on
Weex to other platforms.
· So
if Weex fails to acquire endorsement, developers may be forced to rewrite a
considerable portion of their apps in the future.
|
React Native
|
· React
Native is unquestionably the most popular JavaScript-to-native platform. The
tool owes its popularity to its famous founder: Facebook. Both Facebook’s and
Instagram’s native applications are built with React Native. If two of the
world’s most heavily-used applications can trust this framework, so can you.
|
· React
Native is battle-tested. Facebook and Instagram have millions of
daily-active-users each, and those users demand performance. And as long as
those products rely on React Native, developers can expect Facebook engineers
to regularly update this framework. And just like Weex and other
JavaScript-to-Native platforms, React Native offers a performance edge over
hybrid solutions.
|
· If
you don’t like to work with React, don’t expect React Native to change your
mind. And compared to earlier tools in this list, React Native is not a WORA
solution.
· This may not be an issue for all, but React
Native requires that developers tailor each interface implementation to its
targeted platform. That means you will create both an Android and an iOS
version of each screen and element.
· And
despite relying on web technologies like JavaScript, the interface is a mix
of custom markup language and native UI. Therefore, developers cannot use
existing CSS libraries or jQuery plugins.
|
As medal has two sides, each tool therefore embraces their own drawbacks. So, developers when choosing what tool to work on for their project should consider many factors. More tools would offer more options but at the same time could make it a bit more confusing at the beginning to choose among the suitable one.
Source: https://www.outsystems.com.
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.