React Native has come a long way since an internal prototype at Facebook to where it is now. The cross-platform framework is now a go-to tool for businesses to develop natively rendered mobile apps for iOS and Android. Thanks to its reduced development time with hot reloading to its focus on runtime performance with natively rendered views, React Native has gained traction with large-scale companies like Shopify and Tesla. Web developers have made the leap from the browser to mobile bringing with them all of their tools and expertise, and it is consistently the most popular cross-platform framework.
React Native is an open source framework for building cross-platform mobile applications. With React Native, developers can easily reuse the same JavaScript code for iOS, Android, and the browser, with only minimal need to accommodate specific platforms.
Apache Cordova, since its release in 2009, has created a paradigm shift for mobile application development. Before Cordova, only developers who knew platform dedicated languages for a particular type of mobile operating system could develop native mobile applications. There was Objective-C for developing iOS apps, or Java for Android apps and platforms like Blackberry. Windows Phone also had languages dedicated to building their mobile applications.
March Mobile Madness continues with Performance support for React Native. Our friend, Jenn Meung shares how Performance supports his mobile appliction. In addition to working with Sentry, I also contribute to Tour, a travel app which helps people plan trips with a drag-and-drop interface. Because Tour is built with React Native, we’ve always had issues accurately gauging how people use our app and its performance.
When we were building out our first UI at Speedscale we wanted to get something up and running quickly. Fortunately there are a ton of options of web frameworks that can be used to throw together a quick “hello world” kind of application. However, a SaaS application needs a lot more than just displaying data. It needs to handle user authentication, loading data from a backend API, displaying data in a variety of formats, etc.
As many of you already know, we created Grafana using AngularJS, but we have been migrating to React for about two years now. One of the big missing pieces in our migration puzzle was the templating system. This post starts in late 2019 when I first got my hands on this mysterious and complex area of the Grafana code base.