270722 Hybrid Mobile Technologies

270722 Hybrid Mobile Technologies

Show Video

Madam please begin we are live um uh we have [Music] thank you this is very great opportunity for me uh to share in my experience and knowledge uh here with the paru university and uh giving my brief introduction uh I'm all I was also a student of parallel Polytechnic Institute uh in the diploma ID so this is very great uh proud of me that I am giving the webinar here and sharing my knowledge sharing my experience here so today uh I'm going to um share that how a hybrid mobile technologies work and uh how it is different from native Technologies how we can make a use of these Technologies uh to take a chance of this technology and build a creative apps using this so before starting this I want to know that [Music] um uh is that uh so uh in your uh in the students last course so is there a was there any mobile uh technology uh came into course or this is a fresh new uh uh I want to know that uh was there any uh course subject for mobile technology or is it first time yeah okay let's continue uh so understanding the hybrid mobile technology so uh in this section uh in this session uh we are going to see how this different mobile technologies works and uh how we can use of that in our projects in our College projects as well as well as in your career so let's start with this but before this you can see on the right that uh there is a Android device there is an iOS device there is web app as well as there is tablet desktop application so these are the most application so now uh if you want to develop this all you know once uh with a single hand so how you can develop so that is the concept of hybrid mobile technologies so now let's start so there are types of apps developments and there are two type of app development one is native app development and second is hybrid app development so what is the native application development so native application development means uh it is a platform specific so if you are if you want to develop the web application you need to learn the.net you are either a PHP or python or anything and you need to focus on that uh if you want to develop the mobile application for Android you need to learn the Java for iOS you need to learn the object you see or Swift so you have to dedicate your learning into like a specific platforms while in hybrid development uh once if you want to develop these multiple applications uh in a one code you can use the framework of hybrid development framework which are most trending that is very alternative ionic and flutter so this Frameworks will give you the opportunity to create the multi-platform application so we are going to discuss this in detail uh so let's start with what is the native development so native development is that uh it is double on the app or the web app is developed using the specific platform so for uh let's uh take example of Android if I want to develop the application of Android so it will I uh you will need to learn the Java or codeine uh and if you will develop using Java or code link so you want uh you will run the application on Android but you will not be able to run the application on iOS device and you want to run application on web uh website so this is a specification of dedicated to the specific platform second thing is that this is the very Advantage uh if you develop your application uh into the native so it performs very high performance it gives the very high performance and runs very smoothly so this we will understand in next uh few minutes so it uses the core platform tools so for Android uh there is a OS that contains a Linux kernel so it uses the uh sdks for Android not the SD case for iOS or any other tools so it uses the platform specific tools uh same for iOS simple web so they do not use any other tools regardless of the platform specific tools and it has a compilation of platform so if I want to develop the Android application and once I write the code I need to compile that as most of you uh have already learned Java programming so in Java uh when you write the Java code and then after you want to execute the Java code you need to compile it using the Java C so what is the JavaScript Java compiler so compiler is needed to convert your code into the byte code and that is a class file so same for Android Android is also written in Java so it has also a compiler and it converts your Java code into the byte code and then after the Dax file so that is a platform specific compilation so it is needed a Java compiler for iOS it has a separate compiler so every native application development has its page for like from specific compilation so that is very performative and that is fast so this is where you also advantage of native development and one thing is that if you write code for Android uh it will only run on the Android not on iOS or not on web so it is called a single platform application now what is hybrid development so as we see that native development is a platform specification so hybrid development we can say that it is a cross platform so there are different Frameworks that you can see ionic react native and flutter there are also uh other Frameworks but currently trending Frameworks uh most uh topmost Frameworks are these ionic react native and flutter so what is the difference in Native and hybrid so uh there is a core part core part means the development part so development part is different than native so if you are in Native if you want to develop the app you need to learn the specific code that for Android uh you need to learn the Java or portly uh for iOS you need to learn uh Objective C or sweep but for high tree development you need to learn uh only one language and it will generate the application for multiple platform it will generate for Android it will generate for iOS it will generate for web so that is a better part of hybrid development so no need to learn are everything for every uh cross platform generation you need to learn one thing and you can build the multiple multi-platform application now uh how does it do so you write the code one you write a code for one and it generate the multiplatform application so it is a basic Communicator between the native and your core part so it is called as plugins or modules so these plugins are a communicator so it uses the plugins uh that communicates between your core part of your development as uh and the native components third thing is that there is a different compilation so in Native we were compiling the application into the platform specific compilation but now as we are building the cross-platform application using the hybrid development there are uh we are using the different core Pi so for that different core part there is one compilation occurs that is node compilation uh for our HTML CSS and react.js JS so that node compilation occurs so after that node compilation uh four platform specification for generating Android app for generating the IOS app it's platform specific compilation across so there is a double compilation and this is the very great where we want to uh achieve the themes so this is a you write the code one uh once and uh you can you can generate the multiply from application as well as also you can have uh uh reuse the code uh this uh by creating the plugins and all the things so this is the brighter uh you use the code and you can generate multiple application for your multi-purpose now uh before going deep into this framework uh first we need to know how the platform architecture works so um base of the any application are going into the deeper we need to clear the concept how does it works so uh it is needed to see that platform architecture or for the native as well as hybrid so this is an example of native architecture for Android so here is the architecture of Android device Android OS how does it works so generally Android OS is based on Linux kernel so in the bottom you can see that Linux kernel contains the drivers so it is the very bottom part that we can't see so we have a hardware of bluetooth camera Wi-Fi USB Etc so to communicate with them we need a driver so without driver uh your app will not communicate with this Hardware so that's why drivers are required so it is contained in the Linux kernel on the top of that there is a hardware abstraction layer Hal so Hal is a somewhat implementation of the uh with the driver and with our application so that communicate with the driver and our application use uh using that agile layer on top of that we have a native CC plus plus libraries as well as Android runtime so Android runtime is same as our GRE so in Java we have learned that Java and Java runtime environment so Java runtime environment is used for running our Java applications or our Java programs so same is for our Android application to run uh it is required Android runtimes so uh it contains the runtime environment as well as core libraries and Native CC plus plus libraries which are used for rendering for uh audio and other themes so uh if we want to develop some AIS and other things so it is also required to sometimes complex code in Native CC plus plus uh instead of java on top of that there are two things so one is system apps and one is Java API framework so what is the system apps so generally we are using uh our phone so in phone we are using the Flipkart we are using the Amazon we use the camera we use the file manager Etc so what we see is uh is that the app so it is the system apps and the implementation of app what functionality it does it using the Java API framework so when we develop the application we use of java API framework we have a managers so activity fragment location manager package manager notification manager for uh for sending the push notification so Etc uh there are the packages which are used for the developments so uh when we develop we use only Java API framework we do not touch native CC plus plus Android runtime uh Hal and Linux kernel so this is the themes but one thing is that our uh app directly communicate with the manager here in the native application development now we will see how hybrid application development works so here is the system apps we see and Java API framework for Android so in between of these for hybrid application development we use the core part as a different we do not code in Native so when we uh code in Native so our managers comes into the pictures so we use the activity location package manager Etc but for hybrid application development we do not use a Java API framework we use off we make use of HTML CSS JavaScript or uh for react native it is a react.js so we code in different core part so now using this and if we want to access some functionalities like we want to access a camera we want to access display so anything we need a plugin so plugins are those things which are already developed by other third parties and placed on Marketplace and we use those plugins as in node modules or as a third-party libraries and we use we make use of them in our JavaScript or exjs and communicate with the Java API framework so one thing you can see that here is a thin layer uh called as plugin that communicates with our framework with what API framework in iOS it's called it can call iOS SDK in Android you can call Android SDK so we just code in HTML so now what is the different thing is that you are not using uh you don't have a knowledge of Java or kotlin objective c or Swift but you just need to knowledge of a particular one language that is called HTML css3 uh scss JavaScript Etc and you can develop the multiple application using this because there are plugins that is developing native so I think uh in this you have a clear concept of architecture and uh this is very basic of architecture now we will see which Frameworks are available uh for hybrid apps so we have a different kind of Frameworks uh like platform tools which are available in our Market and first is ionic that was a key that was the first platform tool and formerly uh it is known as the phone Gap so phonegap was the first name of ionic but right now we are calling uh they have named it as ionic second is react native so react native after ionic react native came into picture that was developed by Facebook uh Facebook itself and uh before two years flutter came into the picture so that is developed by Google itself so as it is developed by Google or it has a vast uh modules available for uh implementing lots of functionalities and all the things so this is the these are the most top trending Frameworks there are also different other Frameworks but which are we do not take use most of uh in our application development because these application Frameworks uh have a lot of support uh as it is trending and it is providing a high performance to us so that's why we are using this framework and we will communicate uh for this Frameworks so uh anyone having a question regarding this manual Okay so Legacy so what the ionic do and how does the ionic work and what different kind of languages that ionic uh has a core language for implementing our uh developing our application so first is that ionic uh is developed using HTML CSS and JavaScript so when you develop the ionic apps so uh you need to require a knowledge of HTML uh CSS css3 and JavaScript so what does this do HTML and CSS is used as everyone knows HTML and CSS is used for Designing and JavaScript is used for our implementation of functionalities so whatever you click on the button and what should be performed so all the things is done by the JavaScript so now what does it do so it communicates with the corridor capacitor framework was the first framework that was used by ionic and kurudwa is a collection of plugins that is provided by Cordova as well as right now for making a better performance capacitor came into the picture and capacitor is also a collection of different plugins that is uh provided a way to communicate with a core part of ionic and Native part of our application so actually uh there is there are different kind of plugins like uh camera plugins Barcode Scanner uh file system manager or any other uh so when you uh develop the application you just go into the HTML CSS JavaScript but in the back part in the back part that you don't see uh is done only in Native but sometimes what happens sometimes some plugins are not available in the market so that's why you have to uh generate that plugin by your own and for that you needed a you need a requirement of having the knowledge of native development uh if you are developing the complex application functionality so like uh AI feature so and that EI feature functionality is not available in the market for this ionic that plugin is not available for Ionic so you need to develop that plugin and then after you can make the communication between those native plugin and with ionic to use in your application so here is the part where you should choose the right framework for your application and it supports the multiple platforms uh three platforms that is Android iOS and web so when you generate the application it can generate the application uh APK for Android IPA for iOS and web application it can show the web application next framework is react native and in the reactinative it is developed using react.js so react

to JS is a somewhat kind of angularjs so you can design the creative things using this react JS in your application you can design the components as well as you can implement the functionality in the same file in ionic what we were doing we were having a different files for Designing it was having HTML and CSS and for implementing we were having a different file called GS but in react native we have of just one file that is called GS and work Works in react.js so it also has a different file for implementation like typescript so typescript uh is a different uh extension version of the JavaScript that uses the tight coupled uh object uh object oriented data types and all the themes so this is the react native differs from ionic so it also uses the node modules so node modules are same that we discussed as the plugins so it has a different plugins that are developed in react native as well as in Native so we can communicate with the native plugins and uh our application so now one thing is that when we developed this react native application it converts our application so whatever we have written in our react.js JavaScript so it bundles uh those code into one Javascript file and then after it adds one layer uh as a native application activity to launch in our application so it communicate with one to one file so there are only two files so one one for our native and one for our Communicator as GS which have all implementation so no more than that so this how Works react native and it it also supports uh these three platforms Android iOS and game so one of the most interesting thing you will know that which application are using react native which applications are developed using react native so react native applications are here so as it is developed by the Facebook so Facebook also Facebook Instagram this both applications are developed in react native Microsoft team is also developed in react native Flipkart which is the most common app we use for our shopping online shopping so it is also developed in react native and Skype for calls so these applications these are the most popular applications that you can take a reference of uh for react native application now uh what is flutter so uh as we discussed ionic and react native and react native has a core part different than ionic so is there any different core part uh for slider uh instead of react.js or ionic uh this question will come into your mind but yes it is developed using diet language so that is a different language again so uh the using direct language diet language is same like mostly same like Java Java programming so it is object oriented programming language because it is uh it is having a class and object Concepts so that's why it is a object oriented and yeah so now one of the thing you can see I have not added the point here that it uses the plugins yeah correct so it uses the plugins but plugins are also in Dart so it is in the same language and it is also developed in Native as well but what does the uh this flutter do flutter do the advanced thing it does not generate the JavaScript as react native base so react native when generating application it generates the one Javascript file and a Javascript file communicate with our native system so there is one layer in between of JavaScript that we need to communicate with JavaScript our app need to communicate with JavaScript and JavaScript communicate with our native part but in that what does it do it directly convert our transform our written import into native part so at the end of that our flutter app becomes the native app we write the code for flutter we write the codeine diet but it converts or converts our application into our native component so that's why it has a very smooth performance uh instead of react native uh and of ionic and it has a very great user experience also so it also make use of a different HTML and CSS styles for developing the designs so that's why it also have a great UI components that we can use instead of native components so uh flutter is a very great tool great framework for developing the application now the most interesting part is here that it supports the multi-platform so why I have used here word as a multiplied form instead of runs on Android iOS and web so multiplatform means flutter supports the six platforms flutter can develop a flutter can generate the app for Android iOS web Linux a desktop application Windows desktop application Macos desktop application as well as you can generate for Android TV application Android watch application uh tablet application Etc so it has a multiplied from support of wide range of support and it has been developed by Google so uh it has a lot of support by Google and that's why it is a very trending right now so we will see which applications in the marketplace which are using the flutter flutter framework for the development so first is Google Play so Google pay that we use in our daily transactions for uh sending and receiving money so Google pay was first in Native but then after uh flutter as flutter came so they rewriting their application now a BMW BMW has its own application for their customers and uh yeah internal so it is also developed in slider dream 11 so I think everyone knows about the dream 11 what it what does it do so it is also written in the flutter EB Motors and Toyota so these two applications are also written in flutter now uh let's discussing the pros and cons of uh this uh Native Native development as well as hybrid development so as every uh coin has a two sides uh so every like form specification every development has its two sides uh that uh pros and cons so let's look at first uh Native development pros and cons so native development have a full control over the system so how so as we've seen in the platform architecture that native application directly communicate with our native components native SDK our API framework so it has a full control over system it can communicate directly to our system and it can take advantage of that it has a full feature access because uh if you have a native Native development knowledge you can develop anything that you want because you have a native access and you have a knowledge but you cannot do the same while you are developing the hybrid development that we will discuss it has a high performance so why it has a high performance so uh if you will think if native development if you will think Native development architecture uh it directly communicates with our uh API so it does not have a community it reduces the communication time because it directly communicates so no time in between communicating with her native components and that's why it has a high performance and scalability uh stability and more bug free it is a very secure uh because we can do the secure thing uh using native development because no any other JavaScript or script that will run on our application it is very easy to debug when you develop uh this application so there are some bugs are coming some issues you are facing so the uh for that you needed to debug the application so when you develop the native application and when we debug that native application uh you can debug directly native components so you don't need to check at the both hand that it is error is occurring in the JavaScript side or our native part so uh it is a clear cut that we have to only check in Meteo part and we can go through it so that is a very uh great that we can uh debug very easily we have an all-time support because native development uh uh even there is a if we develop the hybrid application for finally uh it is going to create a platform specific application because after creating a one code we have to uh develop the application for Native so base is the native uh OS so native OS is always having a uh their Frameworks their apis and they are supporting all the time some of the cons that is uh it is very costly and time consuming time consuming in the sense of that uh if I want to develop three application I I want to develop the same application for different platforms like for my project if I want to develop the Android application iOS application and web application so I will need a three developer uh I will need a three developer I will need to hire three developers I will need a three different resources for them and as well as I will have to pay uh those three developer Society so this is called a time consuming as well as costly so uh if you will need a maintenance in the future for the app you will need uh you will need a particular developer for that application and that's why it is also very costly again uh sometimes it has a list UI design access so if our client or we want that our application design needs to be very creative and very uh impressive so sometimes that our design we can do in photos of HTML or anything but we can't do the same uh in Native application why because in Native application there are some restrictions there are some uh lack of attributions that we can't use and uh so that we have a list UI design access and we cannot create create everything that is that can be created in HTML that can be designed in HTML and CSS so that is the limitation of this native development foreign let's look at hybrid development so hybrid development also have some pros and some cons so first thing is that it has a cost saving time saving so uh uh in meaning of time saving we can say uh I have a knowledge of one code language that is react JS or that is a flutter Dart so I can develop the multiple applications so if any company uh want multiple application to be done in a less time so they will have to uh they will hire the developer who is developing the hybrid application so uh I will write the code for one one month as per the functionality and it will generate three ads it's simultaneously and uh we have also cost saving because no need of other two Developers for developing other two platform application so that's why they are having a resource they are reducing the cost of resource they are reducing the cost of uh salary pay and all the things so that's why it's a cost saving now uh it has a very great advantage that we can create any kind of design uh that we want so he can generate the impressive designs uh using the CSS and HTML part or uh react.js Pi so that is

the very great functionality uh provided by hybrid development uh it provides medium to high performance so sometimes if your application is uh at a very low low Port so it provides the high performance but if your application is very complex application which uses multiple features and lots of operations read write operations and all the things so it can give them medium performance why because uh it needs to be communicated with plugin in between of native component and that's why it provides the medium performance so communication Time Communication time with JavaScript then JavaScript communication time with Native so around uh turnaround time uh gets bigger than native definitive calling time so that's why it is having a medium performance and the worst performance I have seen in my uh experience that is for Ionic so right now uh mostly no one using the ionic or they are rewriting their application in react native and flutter so that's why we need to choose the technology looking at the performance looking at our budget looking at our time consuming and all the themes now what are the cons so they have needed the plugins to access features suppose uh we are using the react native so react native have a camera feature but don't have a sensor feature so what uh and we are needed to have a sensor a feature implementation in our application so uh we don't have a plugin in Marketplace so two things can be done one thing you don't Implement functionality but that is not a proper solution so because client wants and you need to develop that functionality so other option is that you need to develop that plugin using other native developments so now for Native development you will need to have a knowledge on Native development team like uh for Android development you need to have a knowledge for Java or protein you need to have a knowledge for uh Objective C and script for iOS development and for web uh if you are developing so uh same as well and that's why if you don't have a knowledge you can't develop the plugin and that's why uh it will be have a restriction limitation for this to develop the features now no full feature access so same thing we discussed so if you don't have a knowledge and the plugin is not available you can't access the full feature and sometimes also some platforms are not providing the interface to uh access the features because of some restrictions or some security reasons it is also very complex to debug so uh if you say uh as we discussed that uh it has a double compilation time uh so as it is compiling with first node module so it has a JavaScript and second uh it has a native component so if error or any issue or any bug occurs if you want to debug we have to debug at the both side uh either on Native and or in our JavaScript site so it is a very complex process to debug in these themes it is having a medium support uh because of uh most of developers are using different different Frameworks and uh in the upgrading Technologies uh uh year by year so uh the duplicate either their plugins and do not support or otherwise they support so they are taking the charge and all the things so that's why it has a medium level support and it has a double compilation time so as we discussed uh it first compiles into the node and then after it combines into the platform specific compilation so these are the cons of this hybrid development uh so this is the all thing uh we have learned uh through these uh hybrid Technologies and Native Technologies so uh now we have to decide uh which technology we should use in our project so uh right now we have a time to deciding the right technology for our project so when you are developing the college project and you have such functionalities now you have to first research uh What functionalities uh I will guide in this Frameworks and then after you have to choose that am I developing uh the application only for one platform if you are going to develop your application only for one platform then you don't need to go for hybrid framework you must go with a native framework because you will get a better performance if you're developing your application for multi platforms so you can choose the hybrid development but again uh if you are thinking about your future uh your uh if your project is going to be live in a future then uh you should uh think twice on hybrid development uh on your budget on your time that in how many uh how much of time you have to deliver your project as well as you have to Choose Wisely that uh of each framework will provide me the better performance and which framework will provide me the uh based plugins uh for my development kit or do I need to uh develop some native uh functionalities if I am using the hybrid Technologies so uh that is the all factors we have to check for our application by uh our functionalities and then after we can uh go further for choosing our application so in our profession uh in our uh corporate level what we do uh generally most of clients wants that you know lesser time they want multiple application multiplatform application uh in a very little time and that's why we choose the hybrid technology but also we see the analysis requirement uh and what are the functionalities they are providing the framework are provided ready so we interject between them and then after we choose the right technology and suggest the right technology for the uh project so if you are having lots of native development like like CC plus plus you need to include in your project uh with the Java and object you see so for that I will suggest that you should choose the native application development instead of iOS instead of hybrid application development because when you choose the ndk native development kit C plus plus libraries so uh you need to have a bigger operations on your OS level uh read write operation image operations and all the themes so that time performance matters and for for best performance you need to choose the native application development uh though you will have a list a UI list impressive UI access but you will get a better performance for your users and your app will be listed on the Play Store for top performance and all the themes so that is all for deciding the right technology for the project you are going to create or you are going to choose so that's all and this is all regarding our native development as well as hybrid development uh so uh I hope that you have learned a lot of things from these things uh from this uh learnings webinar and also you have learned that uh platform architecture how does it works and how we should go into that for our best performance so now if you have any questions q a so you can share anyone having any questions I think uh no questions here hello so students are asking that uh can we develop the hybrid technology with the HTML or any other thing where I see another advantage [Music] uh yes uh there is right now trending technology is flutter so flutter uh is make use of your HPA means it is not an HTML it is using a dart but the syntax is same as HTML and CSS so you can just you you need to check the syntax and all the things so you can develop the using the dart and it will provide a better performance as it is transforming the your HTML or that code into the native component and that's why it directly communicates with the native one and so it gives the better performance okay and then the yes yeah also reactor native is great which is also trendy uh so react native also gives you the concept of sim HTML and GS JavaScript so it uses the react.js developed by the Facebook so uh that is also providing but it has a sometimes uh performance issue while you develop the complex functionalities so you can use the high level architecture uh in that using different libraries so you will have the better performance foreign technology just for developing multi-platform application so uh it will have a very worst performance like lagging the screen and all uh you will have a crash of apps and uh things as well as uh when you want to debug the application so it will have a lots of questions uh so some of the plugins are not available in the marketplace due to multiple developers are working on the multi now different different framework and as time goes uh in the future new technologies comes so what uh previous uh the developer side uh changing the Technologies uh what they are working so that's why they are moving on to the new technology and previous projects uh that are made in the previous effect of previous hybrid technology are going as it is but for the maintenance no developers are available for that so right now for Ionic the same thing is happening okay uh so thank you so much sir for giving a wonderful sessions and our students are also learn so many things and this topic is new for them so thank you so much this is very interactive and informative session and thank you for accepting our uh invitation so thank you so much sir thank you thank you

2022-10-19 21:31

Show Video

Other news