 Hello everyone. My name is Mr. Sandesh Parek. I am currently working as an assistant professor in the department of computer science and engineering at Walchand Institute of Technology, Solapur. In this session, I am going to introduce you to some of the approaches and challenges while developing the mobile app. At the end of this session, you will be understood the different types of the challenges and approaches in the development of the mobile application in the Android platform. Let's start with the different application development approaches. There are mainly three aspects which considered while building the app. First one is the business use case. In this, there are three cases. First one is the business to consumer such as the banking where the app is provided to the customers directly. Business to employee such as when doctors check the remote patients and monitors his health. Such cases is referred as the business to employee. Third one is the business to business to mobilize the supply chain management like vendors, suppliers, etc. Second aspect is the profile of the user. Every user should produce his own profile in the app. For example, the consumer, agent, partners and executives, etc. And third aspect is the mobile device. That is the type of the mobile device and the device connectivity and the platforms used on the mobile is also an aspect. Now we will see the different approaches. First one is the native approach. In this, the native app is created on the native platform using the platform API. Second is the web approach. In this, the mobile application is not installed on the mobile device. Actually it is rendered in the mobile browser on the network. And the languages such as the HTML, CSS and JavaScript are used to build these apps. And third one is the hybrid approach in which the native and web approach both used in this way. Third, three different philosophies. First one is the web-based philosophy. In this, the web is generated for the application development. And the web approach applications are used and the native wrappers are also used. And in this way, the user get feel like it is installed on the native mobile platform. Second is cross compiler philosophy. In this philosophy, the hybrid app is generated using the web technologies such as the HTML, CSS and JavaScript as we discussed earlier. Third one is the middle-well philosophy. In this, the hybrid app is installed in the middle-ware server so that it can facilitate to the consumer to interact with the enterprise server. Now let's see the development challenges. User experience specific challenges are within short period of time. App has to make impression on the user otherwise it will be collapsed. Second is that it should have the native look and feel. And third one is responsiveness means it should respond very fastly otherwise customers will not gain any interest into that. And it should get the user's preferences so that it is called as the personalized app. Next is the functionality specific challenges. It should consume the very less battery and the computing power so that it should be a throughput oriented app. Second is the network access. That is the app should be used relevant network to interact with the user. Next challenges are the data specific challenges. Whatever the data related to app is provided with the security that no one authorized person should get that data and the data of the user should be kept in the private. These are the challenges in the data specific challenges. Next one is the platform specific challenges that is the different type of platforms are already available in the market currently. So that it should be available to all the platforms should adopt the app. Next one is the screen type. Different types of screens are available in the market as we know of the different size and different shapes, pixel size, resolutions and apps should grasp each of these. Next one is the input mechanism that it should get the data by various input mechanisms such as the touch screens, trash balls, quality keyboards, etc. These are the five tenets of the winning app. That is first one is the intimate. It means the app should be belonging to the user. Interactive means app should be interactive with the user. Immediate means in sense of the response it should be responded to the user. Next one is the it should be intelligent and insightful to the user. Now there is one question for you guys that is beyond these terms discussed. Do you think there are any other terms which are impact on the mobile app development? If yes, then list. Yes, there are so many other factors which have the impact on the mobile app development. They are the way in which app is distributed and the place from where app is installed and the environment in which app is accessed and the device which is used. Four logical components of the Android apps are there. First one is the activity that is the process going on in the app is called as the activity. It mostly has the active user interface. Second one is the service that is provided at the background to the user. Third one is the broadcast receiver. It means whatever announcement during the app procedure like the incoming call, SMS, Wi-Fi location, availability, etc. are received by the broadcast receiver and content provider provides the facility to exchange the different types of data which is shared in between the app during its working. It is the new facility provided to the user in this way. Now let me start with the activity in this session for a user which typically begins interacting with an app by starting the activity. It is not necessary that the app should compulsory get the activity or the app may be without the activity also. But over the course of the interaction the activity goes into the various states during its lifetime. And during these lifetimes according to the states he visits it should be visible or the hidden to the user. The main states of the activities are active, paused, stopped and disturbed. Active means which is in focus and interacting to the user. Pause means when some of the notifications generated by the app at that time it goes at the background and user will not interact at that state. It is called the paused. Next one is the stopped. That is when user escape from the app that is by hitting the back key at this state is called the stop state. And destroyed means in this sense where the app is relocated and all the memory allocated for the app is destroyed. So it is the lifetime of the activity as we see on create it is created and on start it is start its procedure. On resume it resumes its procedure and then it becomes the active state. And again on pause it is paused, on stop it is stopped and on destroy the memory allocated is destroyed. And again on create it is get created. In this cycle the activity procedure is continuous in the app. So these are some references I used to make this video. Thank you.