Skip navigation EPAM

Surviving in a Mobile-First World: A Guide to Choosing the Right Development Approach (Pt. 1)

Elvin Rakhmankulov

Director Technology Solutions, Head of Mobile Competency Center, EPAM US
Blog

The mobile application market is gigantic, to say the least. In 2017, Android users had access to 2.8 million apps and Apple’s app store housed 2.2 million. As mobile apps continue to rise in popularity, people often wonder, “Which technology would you recommend for actually building a mobile app?” While there are many methods for creating mobile experiences, it’s important to first decide between the three major approaches:

  • Pure Native
  • Cross-platform Native
  • Cross-platform Hybrid

Each of these approaches brings its own unique benefits to developing a mobile application. In the following three-part series, we will explore each of these approaches in-depth. First, we’ll go over some pros and cons of employing Pure Native.

The ‘pure’ in Pure Native emphasizes the fact that this was the original, native approach recommended by mobile platform manufacturers, while ‘native’ means two things: 1) You get a native user experience on the user interface (UI) of these apps with maximum performance and aesthetic; and 2) You have full access to all the APIs and platform features, such as sensors, that manufacturers created for developers, including access to APIs that are not yet available to the general public.

This approach provides the opportunity to create truly unique mobile experiences, as well as develop innovative features and immersive user experiences that that have never been developed by others. Organizations that are willing to craft best-in-class mobile products and achieve top category placement in the Apple App Store or Google Play should use this approach.

On iOS, there are two official programming languages that are used for Pure Native development: Objective-C and Swift. Both were created and are supported by Apple, and are equally capable of delivering pure native experiences. Swift is a newer language that is used by a majority of iOS projects today. Objective-C is the original language of iOS developers and was used for iOS Apps creation since the inception of the iOS SDK.

For Android, there are also two official programming languages: Android Java and Kotlin.  Android Java is the essence of Java, as it’s the original language for Android app development. This language is maintained by Android platform creators like Google. Created by the company JetBrains, Kotlin is a much newer addition to the pool of programming languages. Kotlin is officially accepted by the Android platform as the highest quality language for Android development. Both languages are equally capable of delivering Pure Native experiences.

The obvious challenge with the Pure Native approach is having two separate code bases for iOS and Android versions of the product with no code re-use. Additionally, taking this approach requires two separate development teams with different skills to develop and maintain these apps.

In summary, using official programming languages in Pure Native development offers a variety of benefits, including:

  • Getting full access to mobile platform APIs
  • Using the full capabilities within a developer’s toolset
  • Receiving up-to-date documentation from the creators of mobile software development kits
  • Having support from a global community of mobile developers

It’s only scratching the surface, but that’s enough on Pure Native to get started for the uninitiated. In the next installment of this series, I will cover the Cross-Platform Native approach, alone with its pros, cons and nuances.

Hello. How Can We Help You?


Our Offices

  • Canada

    • Ottawa

      343 Preston Street,
      ON K1S 1N4, Ottawa
      Canada

      Map
    • Toronto

      5 Park Home Avenue,
      Suite 400,
      ON M2N 6L4, North York,
      Toronto
      Canada

      Map
      F: +1-416-595-1551
  • Mexico

    • Guadalajara

      Periférico Sur #8110,
      Col. El Mante
      45609 Tlaquepaque, Jalisco
      Mexico

      Map
  • United States

    • Newtown, PA

      41 University Drive,
      Suite 202,
      Newtown, PA 18940
      USA

      Map
      F: +1-267-759-8989
    • Bellevue, WA

      110 110th Ave. NE,
      Suite 310
      Bellevue, WA 98004
      USA

      Map
    • Boston, MA

      21 Drydock Avenue,
      Suite 410 W,
      Boston, MA 02210
      USA

      Map
    • Conshohocken, PA

      101 East 8th Ave,
      Suite 201,
      Conshohocken, PA 19428
      USA

      Map
    • Los Angeles, CA

      11601 Wilshire Blvd,
      Suite 350,
      Los Angeles, CA 90025
      USA

      Map
    • New York, NY

      24 West 25th Street,
      5th Floor,
      New York, NY 10010
      USA

      Map
      F: +1-267-759-8989
    • Philadelphia, PA

      30 South 15th Street,
      9th Floor,
      Philadelphia, PA 19102
      USA

      Map
    • San Francisco, CA

      222 Kearny Street,
      Suite 308,
      San Francisco, CA 94108
      USA

      Map
    • San Jose, CA

      2055 Gateway Place,
      Suite 510,
      San Jose, CA 95110
      USA

      Map
    • Washington D.C.

      7901 Jones Branch Drive,
      Suite 400,
      McLean, VA 22102
      USA

      Map
  • Australia

  • China

    • Guangzhou

      Unit B01, 23/F,
      Yuexiuxinduhui Building,
      No. 236, 6th Zhongshan Road,
      Yuexiu District, Guangzhou,
      China 510180

      Map
    • 广州

      中国广州市越秀区
      中山六路236号
      越秀新都会大厦中座 23楼 B01室
      邮编510180

      地图
    • Shanghai

      Room B509, 5th Floor,
      48 Weihai Road,
      Huangpu District, Shanghai,
      China 200000

      Map
    • 上海

      上海市黄浦区
      威海路48号
      5楼B509室
      邮编200000

      地图
    • Shenzhen

      3/F, Block 5, Vision Shenzhen Business Park,
      9th Gaoxin South Road, 
      Shenzhen Hi-tech Industrial Park,
      Nanshan District, Shenzhen,
      Guangdong, China 518057

      Map
    • 深圳

      中国广东省深圳市
      南山区高新南九道
      威新软件园5号楼3楼
      邮编518057

      地图
    • Suzhou

      Building 12, Creative Industrial Park,
      328 Xinghu Street,
      Suzhou Industrial Park,
      Suzhou, China 215123

      Map
    • 苏州

      中国江苏省苏州市
      苏州工业园区星湖街328号
      创意产业园内12号楼
      邮编215123

      地图
  • Hong Kong

    • Hong Kong

      26F&17F, The Wellington Tower,
      198 Wellington Street,
      Central, HK

      Map
  • India

    • Bangalore

      Smartworks,  
      Global Technology Park,
      Block C, Outer Ring Rd,
      Adarsh Palm Retreat, Bellandur,
      Bengaluru, Karnataka 560103
      India

      Map
    • Hyderabad

      10, 11 & 12th Floors,
      Salarpuria Sattva Knowledge City,
      Plot No. 2, Phase - 1,
      Survey No. 83/1,
      Raidurgam Village,
      Serilingampally Mandal,
      Hyderabad, Telangana - 500081
      India

      Map
    • Pune

      SmartWork Business Center Pvt Ltd,
      Suite 8, Level 1,
      West Wing, Nyati Unitree,
      Samrat Ashok Road,
      Yerwada, Pune - 411006,
      Maharashtra
      India

      Map
  • Japan

    • Tokyo

      Floor 1-10-11
      Shibadaimon Centre Building 10th
      Shibadaimon Minato-ku
      Tokyo 105-0012
      Japan

      Map
      F: +81-03-6880-9201
  • Singapore

    • Singapore

      5 Shenton Way
      UIC Building, #10-01,
      Singapore (068808)

      Map
  • United Arab Emirates

    • Dubai

      EPAM Systems FZ-LLC Dubai Branch
      2307 Arenco Tower, Dubai Media City
      PO Box 501929 Dubai
      United Arab Emirates

      Map