A couple of days ago, I got a chance to speak to final year students of CSE branch, GNDEC. The purpose of this seminar was that students before going to training should have enough knowledge about the upcoming technologies so that they can choose according to their interest. I really liked these arrangements made by college staff for students because in most of the cases, students either choose what their friends have chosen or get impressed by over marketed companies who charge them more than the worth of skills provided to them.
Coming to my seminar, I recently learnt and have worked using react-native. React being a new and highly successful approach for web development attracted a lot of developers in a really short time. Facebook really did a great job.
Earlier, when smart phones became popular, there was a need to get the websites into your phones, so you can read the content and see photos and videos without opening your desktops and laptops. Then everyone started making responsive designs so their websites can fit into different devices.
As the phones became more powerful, specials applications were developed just for mobile users known as mobile applications. Today every businessman wants to have both website and mobile application to attract more customers.
The need of large number of mobile applications get the attention of many developers. Normally to cover all the platforms like android, IOS, they have to code same application in JAVA as well as in Objective C or Swift. Some technology was in need to make platform independent applications.
Another problem was unlike websites made for broswers, mobile applications made in JAVA or Swift need to be compiled after every trivial change. This really wastes a lot of developer time. The compiling process was needed to be more efficient and less time consuming.
Many technologies came such as Phonegap, Ionic etc which made it easy to make platform independent mobile applications. But those applications developed were not native. In those non native or also called hybrid applications, it was not that efficient to use the existing components made for native mobile applications coded in JAVA or Swift, such as components to use mobile gestures, camera, GPS etc. Developer communities who worked in large applications such as facebook, instagram stated that these hybrid apps are not efficient enough to handle large numbers of features used by millions of users. A need then arose to make platform independent native apps and facebook community almost solved this problem by producing React-native.
This is how I introduced react-native to the students, so they may consider this technology to pursue their training.
On demand of the students, I showed the react-native code which has reusable components code in javascript and JSX. Exploring more about react-native and JSX was their homework.