Why Electrode React Native ?

Don't get us wrong, React Native is great ! Otherwise we would not put so much efforts in actually building a platform on top of it, right ? ;)

It is great to create mobile applications from scratch, using only React Native ('pure' React Native application). It allows JavaScript developers to leverage their existing knowledge of React and let them deal with a single JavaScript code base to develop mobile applications targeting multiple platforms, while at the same time offering them the power to transparently update their code as over the air updates without having to go through the standard store release process and delays (not to mention actual adoption of updates by the users).

It -can- also be great for building and reusing some components, written in React Native and 'plug' them inside your existing mobile application. Can it or Could it ?

Well, unfortunately, this second use case is not -yet- widely adopted, mostly due to the friction of the required 'infractural' changes, as well as the absence of adequate tooling (either within React Native platform itself or as third party tools) to effectively help deal with such use case of React Native.
The learning curve and investement asked to existing mobile application developers, for working on a solution that actually works well for their mobile application, is often too much for many developers or development teams.

Electrode React Native does not pretend to be THE SOLUTION to this use case. Other (very few) 'solutions' are out there, but none are well documented enough to explain their nuts and bolts, and most are involving extra tooling as well as infracturual changes such as switching your mobile code base to a monorepo.
While not pretending to be THE SOLUTION, Electrode React Native is our current approach -as a platform with its set of custom tools- that we chose to open source, to effectively tackle this use case of React Native.

On the one hand, it allows JavaScript developpers to work on their own React Native based components (a.k.a MiniApps), from within their dedicated repository, using their own release lifecycle. These MiniApps can then be published and used within,potentially, any mobile application. For the most part, existing JavaScript React Native developers will not feel much change to their workflow. The only difference being that for of the commands they were used to interact with using React Native, they'll have to switch to the ern equivalent commands. The development experience will however remain the same as when working on pure React Native components, a MiniApp, after all, is really nothing more that a JavaScript React Native component.

On the other hand, it allows Mobile application developers to easily integrate individual React Native components within their existing mobile application, without changes to their infrastructure or the need to deal with or install any JavaScript based tooling (not even the platform itself !). Mobile application developers solely have to deal with a single third party library (a.k.a The Container), that contains all the MiniApps they hand picked, and interact with it as any other third party native library. If you need to update MiniApps versions or add new MiniApps to your Container, all it takes is triggering a new Container generation and publication. Electrode React Native will take care of the heavy lifting andall you're left with is updating the Container version to be used within your mobile application, with the version of the new Container.

To put it in a nutshell, Electrode React Native is filling, in its own way, the current gaps of the React Native workflow and tooling when it comes to the development and integration of multiple distinct React Native components into an existing mobile application. It achieves this in a maneer that minimize friction for both React Native developers as well as mobile developers, as they can leverage their own knowledge without having to drastically change their workflow and habits. Both 'sides' can remain in their own confort zone.

results matching ""

    No results matching ""