An Intern's Impressions of ReactXP

Everett
April 5, 2019
Blog

Coming from a University where the curriculum is centered around formal software practices rather than modern tech stacks, we were never taught any web development frameworks. Sure, I knew how to write HTML and CSS thanks to Mr. Anderson’s web development class I took in the 7th grade, but other than that I hadn’t really worked with any web technologies... at least in any of the courses I took in my Computer Science program.

So, I was a little nervous beginning a project that relied entirely on ReactXP. However, I found it to be not that bad, after I got the basics down and the project began rolling. Here’s my experience with the framework so far...

A little intro first: ReactXP was developed by the Skype team at Microsoft for cross-platform development (XP = cross-platform). It essentially allows you to write one codebase that can then be deployed to a web application and a mobile application. This makes development much simpler, as it allows for a “write once, deploy everywhere” mentality.

Some of the benefits I’ve found with ReactXP so far:

  • Much of the conventions are exactly the same as a typical React Native application; components are built with native components like View, Text, Scrollview, etc.
  • It fully supports Typescript, which allows for a higher quality codebase

Some downsides to ReactXP we’ve run into:

  • It’s built on older versions of React, so newer, higher performance concepts like React Hooks aren’t supported. This also extends to packages such as Resub, which caused about a week’s worth of frustrations
  • There isn’t a ton of support for bugs, since there aren’t a ton of people using the framework. So fixes often come in the form of a bastardized version of something that works in React Native
  • Deployment isn’t a “one click” solution. Similar to being built on an older version of React, the framework also doesn’t support newer versions of Gradle, so actual native deployments took longer than expected
  • All styling must be done using ReactXP Style components, which have some minor drawbacks to just styling with CSS

Overall, it’s proven to be a decent experience. If the userbase continues to grow, thus expanding the support community and development experiences available, I’m sure many of the kinks will be worked out.


Calgary

1700, 308 4th Avenue SW
Calgary, AB T2P 0H7
Canada
403.242.4361

info.calgary@arcurve.com

Houston

5090 Richmond Avenue
Houston TX, 77056
USA
713.422.2135

info.houston@arcurve.com

© 2024 Arcurve. All rights reserved.