APP development: React Native simplifies
Software for the APP development are in fact a lot and respond to different needs.
- Each operating system (Android, iOS, Windows) for smartphones is developed using its own programming language and tools.
- Developing an app for different systems would therefore require different teams for initial development, problem correction and maintenance over time. If you look back, many applications were born for a single operating system and could remain "exclusive" for years.
- Having different teams, in addition to raising costs, complicates all phases, a feature can arrive months before on one side and a bug being there only in a specific operating system.
CORDOVAOne of the first to give an interesting answer, still very used, is Cordova , which is based on PhoneGap (purchased a few years ago by Adobe).
The basic idea is to take the most shared and standard part of each operating system, then the browser, and build on an application that behaves and displays more or less in the same way. More or less, because as we all know, even if huge steps have been taken, every browser has its own differences and the results must be verified.
The main problem of this solution is the performance and the response speed of the UI, much improved by the increase in power of mobile devices, but which remains constrained by the bottleneck of the render of the browser page.
XAMARINAnother approach is used by Xamarin , born as a separate company / project and bought and integrated completely by Microsoft. In this case we start from a code written in C# which is compiled and interpreted by the "heart" of Xamarin which, based on the operating system, interfaces to the device. This approach certainly allows us to have higher performances but closes the development of the application in a very high enclosure. All the written code will be difficult to reuse in external projects and we need a development team with very specific knowledges that is difficult to spend in other fields. The ideal target is therefore a well-structured company, with a clear project to be developed probably internally. The list of Xamarin users can clarify the concept.
REACT NATIVETo talk about React Native we need to make a small digression on React .
We try to make a small example: at the click of a button an image is added to the DOM, checks are carried out, it is decided that the user does not have to see and remove it. In this operation we would have carried out two page renderings, one for each change, and then returned to the initial situation. Using React instead the operation of addition and removal remains only at the level of virtual DOM, since in the end the real DOM has not changed, no rendering is done.
Starting from React's JSX template system, React Native creates the interface using native components of operating systems with improved performance and a smoother user experience in using the device. The applications are therefore not really "native" but try to emulate as much as possible the user interface and experience. The most interesting aspect compared to Xamarin is therefore that with React Native it is possible to reuse a lot more code and knowledge within different projects and to use a much more open ecosystem.
Although not technologically superior, React Native has had for these reasons a very rapid development and today has perhaps the most active and exciting ecosystem in the landscape.
PRINCE2 (Projects in a Controlled Environment) is a structured project management method based on experience drawn from thousands of projects – and from the contributions of countless project sponsors, Project Managers, project teams, academics, trainers and consultants.The 2009 edition of Managing Successful Projects with PRINCE2 represents...