Tools to Simplify Mobile Application Development
Total Page:16
File Type:pdf, Size:1020Kb
E-Book APPLICATION DEVELOPMENT 101 June 2016 TOOLS TO SIMPLIFY MOBILE APPLICATION DEVELOPMENT With a slew of tools to build, streamline, transform and refactor applications on the market, companies should have no trouble finding ways to ease developers’ struggles. BY ROBERT SHELDON D Integrated Development Environments D Mobile Application Development Platforms Mobile Application D Mobile Backend Development D as a Service Frameworks D Application Refactoring APPLICATION DEVELOPMENT 101 Home Integrated Development Environments Mobile Application Development Frameworks Mobile Application Development Platforms T CAN BE a lot of work to develop mo- apps. Yet choosing which tools are right for an organization Mobile Backend bile applications, especially because and the developers that use them can be a daunting task. as a Service companies must support multiple Before the search begins, IT decision makers should operating systems and device types. know what device types and operating systems the applica- Application Refactoring Nothing can help ease the load more tions will target. Will they run on both Google Android and than having the right development tools. Yet these tools Apple iOS phones? What about tablets? Or even smart- come in an assortment of shapes and sizes, so it isn’t easy to watches? And don’t forget Windows and BlackBerry devices. choose the right ones. Companies should also determine the types of apps they There are many development tools at IT’s disposal, from want to deliver. Native apps provide the best user experi- Iintegrated development environments (IDEs) to products ence, but generally take more time and resources to de- and services for refactoring applications. There are also velop. Web-based apps are faster and easier to implement, mobile application development frameworks (MADFs) for and they can run on just about any platform. But they usu- building cross-platform apps, mobile application develop- ally don’t perform as well as native apps or offer the rich ment platforms (MADPs) for developing and deploying assortment of features. Then there’s the hybrid approach, apps, and providers that offer mobile backend as a service which takes advantage of both web and native capabilities to (MBaaS) to support and enhance applications. deliver something in between the two. Regardless of the type of available tools, they all have one Once businesses determine the types of apps they plan to goal in mind: to simplify the process of developing mobile develop, they can choose the tools they need to build them. 2 TOOLS TO SIMPLIFY MOBILE APPLICATION DEVELOPMENT APPLICATION DEVELOPMENT 101 Home Integrated Development INTEGRATED DEVELOPMENT ENVIRONMENTS Apple TV’s tvOS using the Swift programming language. Environments Most developers’ primary tools are IDEs, which are applica- Many developers immersed in the .NET Framework tions that provide a programming environment for writing, use Visual Studio as their go-to tool for Windows applica- Mobile Application editing and debugging code. Although an IDE is often spe- tions, including those for Windows mobile devices. Visual Development cific to a development environment such as .NET or Java, it Studio provides a feature-rich development environment Frameworks usually integrates with other systems to better manage the for working with C#, Visual Basic, Objective-C, JavaScript, application lifecycle. For example, IDEs can often interface PHP and other languages, and it has the support of a strong Mobile Application Development with source control or continuous integration systems. For and active user community. Platforms native mobile apps, developers should choose the IDE for the operating system they want to develop applications for: Developers face a number of Mobile Backend Google’s Android Studio for Android apps, Apple’s Xcode for as a Service challenges when building mobile iOS apps and Microsoft’s Visual Studio for Windows apps. apps for multiple OSes. Creating Android Studio is a relative newcomer to the IDE scene. Application an app for iOS is much different Refactoring Before Google released Android Studio, the recommended than creating an app for An droid. tool for Android development was the Eclipse IDE, and developers used it in conjunction with the Android Devel- opment Tools plug-in. Now Android Studio is the de facto Microsoft has been working to make Visual Studio a development tool for building apps that can run on Android friendlier environment for developing apps that can run devices. Most mobile devices around the world run the An- on Android and iOS devices. Since the company acquired droid operating system, and Android Studio is free to down- Xamarin in early 2016, Microsoft has incorporated the Xa- load and use, so it’s no surprise that the IDE has made quick marin framework into all Visual Studio editions, which has inroads into the development community. made it possible for C# developers to build cross-platform Developers who want to build apps for Apple’s mobile apps that can run on non-Windows mobile devices. operating system must use the Xcode IDE. It’s also free to Despite Visual Studio’s expanding roles, developers fo- use, although developers must pay to distribute those ap- cused on native iOS or Android development may want to plications to Apple’s App Store. With Xcode, developers can use the tool best suited for the specific device architecture. also build apps for Mac OS X, Apple Watch’s watchOS and Still other developers prefer the open-source nature and 3 TOOLS TO SIMPLIFY MOBILE APPLICATION DEVELOPMENT APPLICATION DEVELOPMENT 101 Home Integrated Development flexibility of using Eclipse along with the available plug-ins MADF can help simplify many of their projects. Environments to build iOS, Android or BlackBerry apps. One MADF that takes the native approach is Xamarin. The product supports a .NET development environment, Mobile Application which allows C# developers to use their existing skills to Development MOBILE APPLICATION deliver Android, iOS and Windows mobile apps. Another Frameworks DEVELOPMENT FRAMEWORKS popular framework for creating mobile apps in their native Developers face a number of challenges when building Mobile Application Development mobile apps for multiple operating systems. Creating an Hybrid apps are not on par with Platforms app for iOS is much different from creating an app for An- native apps, but this approach is droid, BlackBerry or Windows Phone. Developing for mul- simpler and faster be cause develop- Mobile Backend tiple OSes can mean learning new tools and programming as a Service ers can use their existing client-side languages. scripting knowledge. For this reason, many organizations turn to MADFs to Application Refactoring help mitigate some of these challenges. MADFs allow de- velopers to use familiar tools and languages to build cross- code is Appcelerator Titanium, an open-source SDK based platform apps that can run on multiple mobile operating on JavaScript. Titanium provides more than 5,000 APIs for systems. building iOS, Android, Windows and BlackBerry mobile MADFs generally fall into one of two categories: native apps. An alternative to Titanium is Corona, another open- or hybrid. The native types convert one programming lan- source SDK. With Corona, developers can build apps for guage into the native languages of the target mobile plat- Android, iOS, Windows Phone, Kindle, and Mac and Win- forms. The hybrid types use client-side technologies such dows desktops. as HTML, CSS and JavaScript to deliver an application that Developers who plan to take the hybrid approach to runs within a shell on the target OS. The native approach cross-platform development have a wide range of options usually delivers better performance and user experience, to choose from. Although the performance and user expe- but requires more developer skills. These apps can also be rience of hybrid apps are not on par with native apps, this more difficult to maintain over the long haul. Even so, -de development approach tends to be simpler and faster be- velopers with the right skills will find that the native type cause it allows developers to use their existing client-side 4 TOOLS TO SIMPLIFY MOBILE APPLICATION DEVELOPMENT APPLICATION DEVELOPMENT 101 Home Integrated Development scripting knowledge. skills and resources available to your organization and what Environments One of the most well-known and frequently used hybrid each tool will require. frameworks is Adobe PhoneGap, an open-source tool based Some frameworks support both native and hybrid cross- Mobile Application on Apache Cordova. Developers can use HTML, CSS and platform apps. Some even support web-based apps. Some Development JavaScript to create a single code base to build apps for iOS, frameworks are open source, others are not. Some come Frameworks Android, BlackBerry, Windows Phone and other operating with larger user communities than others. Some support systems. A wide range of plug-ins that provide a JavaScript more development languages. As with any tool selection, Mobile Application Development interface to native components are available. you should know upfront what it is you need and are trying Platforms to do, before making any decisions. Mobile Backend Developers that need a more as a Service complete package might want an MOBILE APPLICATION DEVELOPMENT PLATFORMS MADP. It provides the tools devel- Developers that need a more complete package than what’s Application opers need to build, test, deploy and Refactoring manage mobile apps, as well as APIs available with a framework might want an MADP. A com- for integrating with other systems. prehensive MADP provides the tools developers need to build, test, deploy and manage mobile apps. Such platforms also include APIs for integrating with other systems as well There are also plenty of other frameworks out there for as mechanisms for customizing the apps beyond the out- creating hybrid applications, including jQuery Mobile, Sen- of-the-box capabilities. Some platforms even provide back- cha Touch, Ionic, Kendo UI and many more. Each offers its end systems and services.