The Ionic team has announced Ionic React!
While Ionic has long been known as an "Angular" framework for building mobile apps using web technology, it looks as though they are expanding beyond their Angular origins. Earlier this year I started experimenting with Ionic and, coming from an Angular background, I enjoyed working with it. After having spent the past few weeks digging into the React and React Native ecosystems, I am very curious how Ionic React will fit into the overall ecosystem. Especially since the combination of React and React Native seem to have both the web and mobile bases covered. As Max Lynch writes:
"Instead of building an abstraction on top of iOS and Android native UI controls, we wanted to build something that was DOM-native, that would use the standard react-dom library and all the libraries that supported it out of the box, and the decades of existing work around the browser. When we looked at installs for react-dom compared to react-native, it was clear to us that vastly more React development was happening in the browser and on top of the DOM than on top of the native iOS or Android UI systems (16x more, in fact!). That further confirmed our belief that “web devs wanna web dev” and take advantage of their experience and existing library of functionality they’ve built on the DOM.
On top of that, developers are increasingly interested in Progressive Web Apps, especially in the enterprise. PWAs are, at best, an afterthought in the React Native ecosystem (and actually, not officially supported). In contrast, Ionic Framework is one of the leading PWA solutions and has some of the best performance for PWAs in the entire web ecosystem, thanks in part to our work on our Stencil project which we use to generate highly efficient components under the hood.
We also heard from a number of developers that wanted to use Ionic React in their existing React Native apps, by building more screens in their app out of a native WebView frame (using Capacitor, more on that in a bit) to move more quickly or enable traditional web developers to work in tandem with the existing native and React Native dev teams."
By that explanation, the reason to exist for Ionic React seems to be Ionic's ability to leverage PWA functionality along with the promise to integrate more web developers into building out React Native apps. That sounds pretty much in-line with the appeal Ionic holds for web developers looking to get into mobile. From a business perspective, this certainly widens the potential customer base for Ionic.
Thinking on this announcement, I am reminded that after working with Expo the past few weeks, as a web developer, I do miss being able to use Dev Tools to inspect and manipulate DOM elements... The Expo element inspector leaves me feeling largely unsatisfied. Granted, Expo is solving a different problem in a different way, but working in React Native, because the layout is in Flexbox, I really do miss the Dev Tools!
What I am most intrigued by is that Ionic React comes with TypeScript baked in which, at a glance, makes Ionic React look quite familiar to someone with experience with Ionic. An Ionic team member has also posted a guide on how to integrate Ionic React into an existing React project.
I look forward to digging into some examples in the near future!