Skip navigation

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

Elvin Rakhmankulov

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

As mobile usage continues to rise with people spending an average of three hours on their mobile devices each day, companies are truly understanding the need for effective mobile strategies. In the previous installment of this series, we examined the benefits to using a pure native approach in mobile application development. In Part 2 of this series, we will dive further into the cross-platform native approach.

The cross-platform native approach, as its name suggests, allows us to build native experiences once and deploy to multiple mobile platforms. In other words, we can reduce development costs by gaining the efficiency of having a single code base and single development team with this skill, yet still deliver a truly native user interface (UI) and mobile experience.

One challenge with the cross-platform native approach would be having direct access to the latest mobile platform APIs. While newly introduced APIs become available for pure native developers months before an official software development kit (SDK) release, they’re often not available for cross-platform native developers until the day of or sometime after the release date. A potential solution to this challenge could be creating cross-platform bridges or bindings in-house instead of waiting for the cross-platform native frameworks to be officially released.

Another challenge with this approach is reaching UI pixel-perfection. Since the most cost-effective approach would be to create the same UI for both iOS and Android platforms, it’s often hard to achieve a pixel-perfect user experience. However, there are two cross-platform native technologies that provide ways of creating pixel-perfect UI by using the pure native approach for creating UI screens, while the rest of the app is created using the cross-platform approach.

The two technologies often used to deliver cross-platform native mobile solutions are Xamarin and React Native. Both technologies have been widely adopted in their respective global development communities and preferred by many of our clients.

Xamarin and React Native are based on the programming languages used in other non-mobile platforms, which allows this wide adoption to occur. These technologies are quite different, but both prove to be great platforms to deliver mobile experiences with Native UI.

Xamarin is a technology that uses .NET and C# programming language, and is often the logical choice for organizations who have a preferred technology or who use Microsoft’s solutions, such as Azure, because Xamarin provides an excellent way of integrating with Azure services while providing a true native experience. This language comes in two flavors, which are Xamarin.Forms and Xamarin Native (Xamarin.iOS and Xamarin.Android). The amount of re-usable code and end-product experience is different in those two approaches. Libraries created using the pure native approach can be used in Xamarin through a process called “binding.”

Microsoft owns this technology and manages its development. However, some parts of the Xamarin toolset are now open source, offering developers the best of both worlds: support from a resourceful software giant, all while being transparent and open for extension and modifications by the development community. With that said, the majority of development and maintenance today is performed by Microsoft Xamarin teams.

React Native is a technology that allows for building native mobile apps using JavaScript and React, a popular JavaScript library for building user interfaces. This technology is good fit for companies that are willing to use open source technologies or prefer using web technologies because they have in-house JavaScript experts.

While React Native is open source, it’s also backed by large corporations. In contrast with Xamarin, the development and maintenance is completed not only by this corporation, but also by a large community of individual developers and other corporations. One of the biggest advantages of the React Native approach is that that the same team could work on web front-end and mobile native apps. Also, some non-UI code can be re-used between web and mobile apps. Additionally, pure native modules can be easily used in React Native projects using a process called “bridging.”

Overall, leveraging the cross-platform native approach opens up many opportunities for mobile app developers, including:

  • Having the ability to deploy native experiences to multiple platforms
  • Receiving support from a global community of mobile developers
  • Gaining flexibility with open source technology backed by large corporations
  • Reaching pixel-perfect user interface quality

If you haven’t quite decided on the mobile development approach that’s ‘just right’ for your business, there’s still more to come. In the final part of our series, we will take a closer look at the cross-platform hybrid approach.

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
      P: +1-416-591-4004
      F: +1-416-595-1551
  • Mexico

    • Guadalajara

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

      Map
      P: +52-33-462-400-98
  • United States

    • Newtown, PA

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

      Map
      P: +1-267-759-9000
      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
      P: +1-484-382-1300
    • Los Angeles, CA

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

      Map
    • Mountain View, CA

      465 Fairchild Dr,
      Building B,
      Suite 221,
      Mountain View, CA 94043
      USA

      Map
    • New York, NY

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

      Map
      P: +1-267-759-9000
      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
    • Washington D.C.

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

      Map
  • Austria

    • Vienna

      Nottendorfer Gasse 11,
      1030 Wien
      Austria 

      Map
  • Bulgaria

    • Sofia

      69 Bulgaria Blvd.,
      Infinity Tower,
      1404 Sofia
      Bulgaria

      Map
      P: +359-700-20-273
  • Czech Republic

    • Prague

      City Tower building,
      Hvezdova 2b,
      Prague 4
      Czech Republic

       

      Map
      P: +420 22 888 28 23
  • Germany

    • Frankfurt am Main

      Franklinstrasse 56, 
      60486 Frankfurt am Main,
      Germany

      Map
      P: +49-69-31019090
  • Hungary

    • Budapest

      Corvin Offices I.
      Futó street 47-53,
      Budapest, H-1082
      Hungary

      Map
      P: +36-1-327-7400
    • Debrecen

      Bethlen Street 3-9,
      Debrecen, 4026
      Hungary

      Map
      P: +36-52-999-485 / 45050
    • Szeged

      Felső Tisza-Part 25,
      Szeged, 6723
      Hungary

      Map
      P: +36-62-808-013
      F: +36-62-550-655
  • Ireland

    • Dublin

      Alexandra House,
      The Sweepstakes,
      Ballsbridge, Dublin 4,
      D04 C7H2
      Ireland

      Map
      P: +353-(0)-1-631-9280
  • Netherlands

    • Delft

      Delftechpark 37j
      2628 XJ Delft
      Netherlands

      Map
      P: +31 20 241 6134
    • Schiphol

      The Base B
      Evert van de Beekstraat 104
      1118CN Schiphol
      Netherlands

      Map
      P: +31 20 241 6134
  • Poland

    • Gdańsk

      Al. Grunwaldzka 472E
      80-309 Gdańsk
      Poland

      Map
    • Katowice

      Chorzowska Str. 148
      40-101 Katowice
      Poland

      Map
      P: +48-12-222-02-02
    • Krakow

      Opolska Str. 114
      31-323 Kraków
      Poland

      Map
      P: +48-12-222-02-02
    • Warsaw

      Al. Jana Pawła II 23,
      Atrium International,
      00-854 Warszawa
      Poland

      Map
    • Wroclaw

      Ul. Piotra Skargi 1,
      Budynek A,
      50-082 Wrocław
      Poland

      Map
  • Spain

    • Malaga

      Avenida Imperio Argentina num. 19-21,
      2º Planta, Oficina 2E,
      29004, Malaga
      España

      Map
  • Sweden

    • Göteborg

      Lilla Nygatan 2,
      411-09 Göteborg
      Sweden

      Map
      P: +46-85-250-06-98
    • Stockholm

      Kungsgatan 50,
      111 35, Stockholm
      Sweden

      Map
      P: +46-85-250-06-98
  • Switzerland

    • Glattpark

      Boulevard Lilienthal 2,
      8152 Glattpark (Opfikon)
      Switzerland

      Map
      P: +41-43-500-21-49
  • Ukraine

    • Dnipro

      17A Volodymyra Monomaha Street,
      49000 Dnipro
      Ukraine

      Map
      P: +380-56-790-5651
    • Kharkiv

      33G 23 Serpnya Street,
      61072 Kharkiv
      Ukraine

      Map
      P: +380-57-728-06-22
    • Kyiv: Registered office

      28 Fizkultury Street,
      03150 Kyiv
      Ukraine

      Map
      P: +380-44-390-5457
      F: +380-44-390-0861
    • Kyiv: Visitors office

      14B Kudryashova Street,
      03150 Kyiv
      Ukraine

      Map
      P: +380-44-390-5457
    • Lviv

      45 O.Stepanivny Street,
      79018 Lviv
      Ukraine

      Map
      P: +380-32-242-4642
      F: +380-44-390-5458
    • Vinnytsia

      51 Ovodova Street,
      21000 Vinnytsia
      Ukraine

      Map
      P: +380-432-551-294 +380-432-551-275
      F: +380-432-551-293
  • United Kingdom

    • London

      114 Middlesex Street,
      London, E1 7HY
      United Kingdom

      Map
      P: +44-203-514-0027
    • Manchester

      Tower 12,
      18-22 Bridge Street,
      Manchester, M3 3BZ
      United Kingdom

      Map
      P: +44-203-514-0027
  • Australia

    • Sydney

      31 Highgate Cct
      Kellyville NSW 2155

      Map
      P: +61-28-310-82-72
  • 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
      P: +86-21-53080606
    • 上海

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

      地图
      P: +86-21-53080606
    • 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
      P: +86-755-36899008
    • 深圳

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

      地图
      P: +86-755-36899008
    • Suzhou

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

      Map
    • 苏州

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

      地图
  • Hong Kong

    • Hong Kong

      198 Wellington Street,
      17F, Central
      Hong Kong

      Map
      P: +852-5808-6018
  • India

    • 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
      P: +91-40-47979900
    • Pune

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

      Map
      P: +91-20-4913-6025
  • Japan

    • Tokyo

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

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

    • Singapore

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

      Map
      P: +65-6911-6888
  • United Arab Emirates

    • Dubai

      EPAM Systems FZ-LLC
      Dubai Branch,
      Building 16, Office 241,
      Dubai Internet City,
      PO Box 501929, Dubai
      United Arab Emirates

      Map
      P: +971-4-568-3569
  • Armenia

    • Yerevan

      15 Khorenatsi Street,
      Elite Plaza Business Center,
      0010 Yerevan
      Armenia

      Map
      P: +374-10-60-00-65
  • Belarus

    • Brest

      6A Masherov Avenue,
      224030 Brest
      Belarus

      Map
      P: +375-162-52-5268
      F: +375-162-50-9888
    • Gomel

      80 Rechitsky Avenue,
      246012 Gomel
      Belarus

      Map
      P: +375-17-389-0100, ext. 54079
      F: +375-232-70-50-31
    • Grodno

      87B Gorkogo Street,
      230005 Grodno
      Belarus

      Map
      P: +375-17-389-0100, ext. 69011
    • Minsk

      1/1 Academician Kuprevich Street,
      Suite 110,
      220141 Minsk
      Belarus

      Map
      P: +375-17-389-0100
      F: +375-17-268-6699
    • Mogilev

      19 Cosmonaut Street,
      Suite 510,
      212009 Mogilev
      Belarus

      Map
      P: +375-17-389-0100, ext. 1001
    • Vitebsk

      11-a Stroitelei Avenue,
      Suite 311,
      210032 Vitebsk
      Belarus

      Map
      P: +375-17-389-0100, ext. 54433
  • Kazakhstan

    • Astana

      8 Auezova Street,
      Office B,
      010000 Astana
      Kazakhstan

      Map
      P: +7-7172-475-970
      F: +7-7172-688-774
    • Karaganda

      58/3 Ermekova Street,
      100009 Karaganda
      Kazakhstan

      Map
      P: +7-7212-93-01-01 +7-7212-93-01-00
  • Russia

    • Moscow

      9th Radialnaya Street,
      Building 2,
      115404 Moscow
      Russia

      Map
      P: +7-495-730-6362
      F: +7-495-730-6361
    • Izhevsk

      150 V. Sivkova Street,
      426000 Izhevsk
      Russia

      Map
      P: +7-3412-27-13-37
    • Nizhny Novgorod

      30 Poltavskaya Street
      603089 Nizhny Novgorod
      Russia

      Map
    • Ryazan

      16 Gogolya Street,
      390035 Ryazan
      Russia

      Map
      P: +7-4912-55-99-10
    • Saint Petersburg

      22/2 Zastavskaya Street,
      MegaPark,
      196084 Saint Petersburg
      Russia

      Map
      P: +7-812-611-1094
      F: +7-812-611-1094
    • Samara

      21 Michurina Street,
      443110 Samara
      Russia

      Map
      P: +7-846-200-0970
    • Saratov

      37 Tankistov Street,
      410019 Saratov
      Russia

      Map
      P: +7-8452-692-981
    • Sergiev Posad

      7 Akademika Silina Street,
      141313 Sergiev Posad
      Russia

      Map
      P: +7-496-547-11-39
      F: +7-496-547-11-39
    • Togliatti

      31E Yubileynaya Street,
      445037 Togliatti
      Russia

      Map
      P: +7-495-730-6360, ext. 47650
    • Tver

      8 Kolodkina Street,
      170002 Tver
      Russia

      Map
      P: +7-4822-630-070 +7-4822-630-071 +7-4822-630-072
      F: +7-4822-630-073