I will try to say something about mobile app development. If we want to work on mobile app development now, the first question that comes to our mind is whether we will learn programming language, which field will we work in, Android or iOS. How to start?
So when someone starts dealing with these, two words of native, cross-platform come to the fore. Then people get lost in the maze again.
Basically Native is to work with the specified framework of the specified platform. For Android, for example, Java, developing apps with Catlin programming language. Apps are developed with Java from the beginning of Android. Google has customized it and released it as Android Studio. The real name is Intellij IDEA. A few years ago, Google added Katlin as the second native programming language of Android.
However, it is better to start with Java as a beginner. Why?
Because, over 60% of the online resources on Android are Java (maybe more) with Java. Since it has been working with it for more than a decade. On the other hand, at the beginner level, the online resources of Caitlin are very low. Advanced level Catlin has a lot of resources. Java is also available. As a result, one can switch to Catlin after a few months of working with Java in the beginning when some skills come. And it should be done in some cases. Nowadays Catlin is becoming more popular. There is null safety. Android app development can be done on any platform like Windows, Mac, Linux. However, in this case it is better to have at least 8 GB of RAM. In case of Windows, it is better to have more than 8 GB. Mac or Linux runs well with 8 GB. No pie.
Now let's come to iOS Native app development. Objective C was used in the beginning of iOS development. However, Swift language has been used since 2014. It is for software development of Apple devices developed by Apple. Legacy Many companies are still using Objective-C for some projects. However, the amount is slowly decreasing. Everyone is shifting to Swift. There is another thing to keep in mind. If you want to develop iOS, you must have a MacBook, iMac, that is, a computer powered by Apple OSX. Currently, the Mac app is being tweaked with the codebase of the iOS app. As a result, the app is being rolled out to two different platforms with almost the same codebase. The performance is the same. For this is a great good news.
Now let's come to cross-platform app development. Basically, if someone wants to make an app with a single code for Android and iOS at the same time, then he uses cross-platform. However, it is not possible with a smooth or responsive app cross-platform like native app. It will never be like the TV app. Some popular cross platforms are React Native, Xamarin, and the most popular is Flutter.
React Native Developed by Facebook. Facebook app is made with React Native. Facebook app is the heaviest app I have seen. It eats up a lot of memory. Slows down the phone. Xamarin is developed by Microsoft. Don't have a good idea about it.
Now let's come to Flutter. It is thought that Flutter will rule the cross platform in the future. It was first developed by Google. As a result, fast-in-class support will be available. I worked with Flutter for a few months. After working for a few months, I thought Flutter Flutter has only been around for 2-3 years now. Google is currently trying to develop Flutter as a developer. This means that in order to make Flutter work, the developer himself has to develop various necessary packages. As a result, in some cases it is for a single developer or a small team. It's a bit of a hassle. That is why Flutter needs to be given a few more years. This is not a problem for large firms. However, Flutter is fast becoming popular for its multifaceted benefits in development. Flutter web or desktop is in beta stage. It will take a few more days to come into production. Besides, in case of app UI, Flutter pair matching load.
I personally think that any native app development is better than cross platform. Because, if someone wants to work at a low level in an app or a very complex app, he must work in native. If he wants to maintain performance at second, millisecond level. There is no alternative to Native. Besides, when a new feature is released on a platform, it can be worked on from the beginning on Native. Developers on Butt Cross platform have to wait a while for that to be implemented.
However, the cross-platform in the day-to-day app is gaining good performance. This is a very good aspect for start-up companies. With a single codebase, both Android and iOS platforms are going to be covered. Time, resources seem to be less. Flutter is ahead of others in this regard.
However, a cross-platform developer needs to have an idea of native development. For example, Flutter uses different packages for different features. Now suppose someone started working on a feature for which no package was developed. In that case he has to develop the package by coding in Java / Catlin / Swift. He has to use the platform channel. Then if you have no idea about Native Development, then there is no other way but to sit till another developer publishes this kind of package.
After all, no matter which way one works, one has to have a good amount of skill in that subject. You have to have the mentality to take on new challenges. You have to have ideas about new tech all the time.
Bonus part: If you have been reading this boring article for so long, congratulations and this bonus part as well. Now I will try to give you an idea of what the code might look like if you develop a simple app on native Android, native iOS and Flatter.
A simple note app. Two screens. List all the notes on the first screen, and click on the add button to make a new note screen and click on any note in the list to edit the screen. Very simple app. I gave the link to GitHub. Those interested can see.
Native Android: https://rl.snnafi.com/note-app-android
Native iOS: https://rl.snnafi.com/note-app-ios
Flutter: https://rl.snnafi.com/note-app-flutter
So far today.