share

ENGINEERING

4min read

Introducing React Native At Polidea

For engineers and designers at Polidea the most important aspects of mobile apps we create have always been responding to understanding what is the best customer interest - more often than not it’s highest quality, and the smoothest user experience possible, but sometimes time-to-market on several different platforms beating the smoothness and long-term maintenance cost (but without a lot of compromise on quality). Polidea’s highest value for the customers was the ability to advise what is the best approach for them - we had the luck and privilege that we could choose the projects we worked on - as we believe that high quality-requirements project have much more impact and those are the projects that our expertise and experience can help most. We think that those are essential conditions for providing the best mobile services for our clients.

This is why we never believed in hybrid technologies like PhoneGap or Cordova which usually boils down to writing web apps for smartphones. The end-result usually doesn’t give the user a native feel of a UI and the animation smoothness. Those platforms never passed our minimum bar of quality and user experience. Being great at writing pure iOS and Android apps using technologies that the vendors provide comes with a price tag - it requires more people engaged in development process and usually - more time. And that matters a lot to our customers. Sometimes, limited budget can be a real issue for potentially great product.

But here comes React Native. This relatively new piece of tech is a framework from Facebook that encapsulates iOS and Android platforms’ SDKs and enables the developer to write app’s business logic in Javascript. The biggest advantage is to keep a native experience for the end-users with the possibility to share the same code between different operating platforms. At Polidea, we have always adopted new technologies quite early - not when they go mainstream, but when they already have shown promising signs, and so we started experimenting with React Native when we realised that it’s more than just a preview by Facebook. Now - after almost a year - we have developed a fully featured app in App Store called Best Buddies build only using React Native, and fantastic react-native-ble-plx BLE library which incorporates our best experiences from RxBluetoothKit Swift BLE and RxAndroidBle Android frameworks.

Check if React Native
is the right tech for your project

Balance

There is no ultimate solution nor technology for creating mobile applications. React Native is just a tool as many others and it has some issues, some of them are quite big.

  • It’s very advanced, but not fully mature yet. It’s as good as Facebook needs it to be. Using React Native we rely on Facebook’s engineering team and we depend on how Facebook understands mobile.
  • Javascript. Since it has been enormous effort put to make writing using React Native a pleasant experience, Javascript is technically defective and unsafe language made for totally different purposes.
  • There are tons of dependencies that you have to rely on. React Native itself has more than 600 dependencies. You don’t have much influence on them when you’re in trouble.
  • There is still necessity of having experience with native platform. You should know its possibilities and limitations. There’s often some more sophisticated or advanced logic that has to be implemented natively.
  • We don’t know React Native roadmap. We don’t know how long will it be developed and maintained by Facebook (recall Parse).

On the other hand there are a few serious arguments that put React Native in a good light.

  • When introducing React Native, Facebook coined a term: „learn once, write anywhere”. Practically, it means that majority of developed codebase can be used cross-platform. This is the key argument in any discussion. Having two platforms covered with features in the same time by up to two times smaller team is a game changer.
  • Building from existing components is quick. As long as everything fits and process is smooth, writing an app in React Native is faster than usual approach.
  • Thanks to React Native short history it is modern software incorporating great architectural patterns that help developers thinking and reasoning about app’s business logic, not struggling against structuring whole project from scratch.
  • React Native has been created and is maintained mostly by Facebook and for Facebook. Top-notch engineers work hard to make the framework great.
  • React Native is open source and has huge community. There are lots of docs, support and tutorials on the web. There is big amount of tools as well, and third party libraries open for contribution.
  • React Native gives the great capability of replacing the code of your application on-the-fly - without waiting for application review and allows to run ad-hoc A/B testing.

Listing pros and cons is all about finding a right balance. But always something has to prevail. Today, we think that React Native with its undeniable business value opens new, great perspectives in many different contexts for developing mobile applications. Not all mobile projects are suitable for React Native, but there are a number of them that can benefit from it. Helping our customers to choose best technology solution to a problem at hand - and knowing the pros and cons of different approaches is something that is vital to our expertise in the subject

At Polidea, we strongly believe in writing native apps for iOS in Swift/ObjC and for Android in Java/Kotlin. Native has never let us down. But we are open minded and always try to be on the bleeding-edge when it comes to mobile technology. Now we are building team of experts in React Native because we believe in the core power of this piece of tech. Stay tuned for more case study involving RN.

share


MaciejCTO
JarekPrincipal Software Engineer

LEARN MORE

Contact us if you have any questions regarding the article or just want to chat about technology, our services, job offers and more!

POLIDEA NEWSLETTER

Sign in and expect sharp insights, recommendations, ebooks and fascinating project stories delivered to your inbox

The controller of the personal data that you are about to provide in the above form will be Polidea sp. z o.o. with its registered office in Warsaw at ul. Przeskok 2, 00-032 Warsaw, KRS number: 0000330954, tel.: 0048 795 536 436, email: hello@polidea.com (“Polidea”). We will process your personal data based on our legitimate interest and/or your consent. Providing your personal data is not obligatory, but necessary for Polidea to respond to you in relation to your question and/or request. If you gave us consent to call you on the telephone, you may revoke the consent at any time by contacting Polidea via telephone or email. You can find detailed information about the processing of your personal data in relation to the above contact form, including your rights relating to the processing, HERE.

Data controller:

The controller of your personal data is Polidea sp. z o.o. with its registered office in Warsaw at ul. Przeskok 2, 00-032 Warsaw, KRS number: 0000330954, tel.: [0048795536436], email: [hello@polidea.com] (“Polidea”)

Purpose and legal bases for processing:

 

Used abbreviations:

GDPR – Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016
on the protection of natural persons with regard to the processing of personal data and on the free movement
of such data, and repealing Directive 95/46/EC (General Data Protection Regulation)

ARES – Polish Act on Rendering Electronic Services dated 18 July 2002

TL – Polish Telecommunications Law dated 16 July 2004

1)        sending to the given email address a newsletter including information on Polidea’s new projects, products, services, organised events and/or general insights from the mobile app business world |art. 6.1 a) GDPR, art. 10.2 ARES and art. 172.1 TL (upon your consent)

Personal data:name, email address

2)       statistical, analytical and reporting purposes |art. 6. 1 f) GDPR (based on legitimate interests pursued by Polidea, consisting in analysing the way our services are used and adjusting them to our clients’ needs, as well as developing new services)

Personal data:name, email address

Withdrawal of consent:

You may withdraw your consent to process your personal data at any time.

Withdrawal of the consent is possible solely in the scope of processing performed based on the consent. Polidea is authorised to process your personal data after you withdraw your consent if it has another legal basis for the processing, for the purposes covered by that legal basis.

Categories of recipients:

Your personal data may be shared with:

1)       authorised employees and/or contractors of Polidea

2)       persons or entities providing particular services to Polidea (accounting, legal, IT, marketing and advertising services) – in the scope required for those persons or entities to provide those services to Polidea

 

Retention period:

1)       For the purpose of sending newsletter to the given email address – for as long as the relevant consent is not withdrawn

2)       For statistical, analytical and reporting purposes – for as long as the relevant consent is not withdrawn

Your rights:

 

Used abbreviation:

GDPR – Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016
on the protection of natural persons with regard to the processing of personal data and on the free movement
of such data, and repealing Directive 95/46/EC (General Data Protection Regulation)

According to GDPR, you have the following rights relating to the processing of your personal data, exercised by contacting Polidea via [e-mail, phone].

1)       to access to your personal data (art. 15 GDPR) by requesting sharing and/or sending a copy of all your personal data processed by Polidea

2)       to request rectification of inaccurate personal data
(art. 16 GDPR) by indicating the data requiring rectification

3)       to request erasure of your persona data (art. 17 GDPR); Polidea has the rights to refuse erasing the personal data in specific circumstances provided by law

4)       to request restriction of processing of your personal data (art. 18 GDPR) by indicating the data which should be restricted

5)       to move your personal data (art. 20 GDPR) by requesting preparation and transfer by Polidea of the personal data that you provided to Polidea to you or another controller in a structured, commonly used machine-readable format

6)       to object to processing your personal data conducted based on art. 6.1 e) or f) GDPR, on grounds relating to your particular situation (art. 21 GDPR)

7)       to lodge a complaint with a supervisory authority,
in particular in the EU member state of your habitual residence, place of work or place of the alleged infringement if you consider that the processing
of personal data relating to you infringes the GDPR
(art. 77.1 GDPR)

No obligation to provide data:

Providing your personal data is not obligatory, but necessary for Polidea to provide you the newsletter service

Refusal to provide the above data will result in inability to receive the newsletter service.

Profiling

In the process of providing the newsletter service, we make decisions in an automated way, including profiling, based on the data you provide.

 

“Profiling” means automated processing of personal data consisting of the use of your personal data to evaluate certain personal aspects relating to you, in particular to analyze or predict aspects concerning your personal preferences and interests.

 

The automated decisions are taken based on the analysis of clicked and viewed content. They affect the targeting of specific newsletter content to selected users registered to receive the newsletter service, based on the anticipated interests of the recipient.