Does Native Android Development Have a Future?
ฝัง
- เผยแพร่เมื่อ 9 เม.ย. 2024
- In this video I share with you my opinion about the future of Android Development. Let me know what you think in the comments below!
💻 Let me be your mentor and become an industry-ready Android developer in 10 weeks:
pl-coding.com/drop-table-ment...
⭐ Courses with real-life practices
⭐ Save countless hours of time
⭐ 100% money back guarantee for 30 days
⭐ Become a professional Android developer now:
pl-coding.com/premium-courses...
Get my FREE PDF about 20 things you should never do in Jetpack Compose:
pl-coding.com/jetpack-compose...
Regular programming advice on my Instagram page: / _philipplackner_
Join my Discord server:
/ discord - วิทยาศาสตร์และเทคโนโลยี
"Our chosen field is bad, and the grass is greener every where else." - that's gold!
i just hate the 20 tester policy, it's really ridiculous, google should have remove this
no
@@rahmat-un4od Why not?
100% agree
I feel like the tester policy is all about making sure app developers are serious about their apps. Google are serious and determined about developing the Android platform, and they want app developers to be just as commited. However, I do agree that asking for 20 testers is a bit much!!
@@fig7047 Two or three should be sufficient. Even medium sized companies do not have 20 testers. Google just want large studios developing for their platform and publishing on Google Play - it's the only reason for stupid requirements such as 20 testers. They don't want thousands of small developers who aren't going to make them a ton of money. It's never about the end user; it's always about the money.
This is 100% correct. From a background in Android dev, I recently tried XCode and ios development process, love for Android increased many times.
This is bullshit ios dev is 10x times better
@@MrMedzoo skill issue
@@MrMedzoo I have heard People died creating Apple developer account, and downloading xcode.
but IOS development is more lucrative
@@Alchemist10241 That's not the point he wanted to tell in the video.
This is why I like working with iOS devs, so I can hear all the faults of XCode and be happy with Android Studio.
Xcode is really pathetic!
Never heard an iOS dev complain about xCode for something they couldn't do or implement. They just say to the manager it's impossible or apple doesn't want it
The problem is the current market, low hiring is making people frustrated.
Current and future market. AI will make programming as we know it obsolete.
@@cbnewham5633 Writing code is not a programming
@@ionizePlaying if you think AI is not going to make programmers pretty much obsolete then I think you are in for a nasty shock. But carry on. Those who see this coming are already preparing.
@@cbnewham5633 AI is not going to replace programmers. It's a tool for programmers to use. It's like a self drived car. You still need a driver. You won't trust your whole company money to a robot or something that isn't human. It's human nature. I agree that things will change, but the ones who has more expertise in IA, makes a good job will definitely stands out for the crowd and keep their jobs. AI is not going to replace us. That's ridiculous and a lot of ignorance from such a statement.
AI will replace us.
also AI when a multi layer problem happines: Panic@@cbnewham5633
My company uses React Native. We've had so many problems that I often wish we had just used Native Android. Something simple like running in debug mode on Android is easy; debug mode on RN is a frustrating mess of either debugging your android code in a browser separate from your IDE, or installing a VS Code plugin, enabling port forwarding through adb, and needing to manually alter some code in npm packages by following stack overflow advice. We've run into a lot of issues like that.
It's definitely nice to be able to write one app that works on both platforms, and having access to all the packages on npm is a huge plus, but it doesn't absolve you of needing to understand Android and I wish we were just building it in Native Android.
I am RN developer with a 4 years of experience. You are right, I am tired of searching and installing crossplatform modules. I also feel limited due to not knowing native development. I tried Swift for a while and I didn't like it, but Kotlin is nicer.
Try flutter.
Myself and a Friend decided to build an app recently so I am working in native android and he is working in IOS (we started pre KMM and havent looked at it properly yet). We frequently have discussions around the pros and cons of both and it surprises me how many times Android comes out better. its miles away from perfect but then nothing ever is. The business market will always try and get the shiniest new thing for the cheapest cost but in the end if you want something done properly regardless of moving into new technologies you need the basics first and those basics comes from native development.
What about user experience? Is it better in Android apps as well?
This is a legit question, I have 0 experience with iOS dev, so I'm curious if iOS apps, despite their worse dev experience, have better performance/error handling and overall user experience
@@carlosmspk You will certainly get a 100% right answer on the internet to base your professional decisions on. Or perhaps you could ask ChatGPT or similar? By the way, it is called KMP now, so that alsone should be reason enough to have another look into it.
Can't agree more! 👍 Keep up the good work.
Another thing is that development requires excellent tutorials. And this is the best channel for that, thank you.
I feel confident in native development on Android. I like Android, I know its weaknesses, I see what is happening on other platforms. I'm definitely moving towards trendiness, choosing KMM for myself, because I want to see Android ideology on other platforms
Why KMM?
@@rohaitastanoli2355 I like kotlin, I like Jetpack Composeб I prefer Android Studio. I like that it all works together in KMM
It's called KMP nowadays :P
Kotlin multiplataform?
I totally agree with you. Every technology has its downsides. I've never thought of switching to any other technology just because of my love for Android. And now with compose, my love for Android has grown multifold.
I never thought of giving up Android development or switching to another field. Because I love native Android development, Even I have never worked for a company, just doing freelancing jobs and working on my own projects. I wouldn't say I like the 20 tester policy,
Also me bro
any thing comes into my mind these days , then I find a new video of you philpp discussing about that in the best & perfect way! I FUCKING LOVE U MAN❤❤❤❤❤❤❤
I've been a software developer for nearly 30 years, and I have never worked on a platform that changes as often as Android. Somehow, despite that, I am still here. I do like Kotlin though, and I find it much nicer to work with than Java and C++. Swift is good too, but I am less happy with that! Both SwiftUI and Compose take many of their ideas from Qt / QML. I think I prefer QML to either of them, but that's a discussion for another day!
I love Kotlin. Not as in "I believe this language is objectively better" but simply because I have fun writing Kotlin. I've never had experience with QML, but Kotlin + Compose is really cool for doing quick UI's for arbitrary desktop apps. The only downside is that even though it's a desktop app, it still looks like "yet another Android app" probably because of the Material UI
I have been an android dev for 11 years it gives me anxiety and depression
As always wisdom words 💪
Thanks for your opinion. it's amazing!
Danke dir! Da hast du vollkommen recht. Das bringt einen wieder auf den Boden der Tatsachen.
Great video, thanks for pointing that out.
What I'm noticing is that demmand for Native Android is dimming.... companies are increasingly looking for either one man army (iOS and Android Native) or React/Flutter. But as an Unemployed Android Dev... its been hard to find jobs only for Android.. and when one pops up probably receives thousands of applicants
I agree with native development, I am satisfied from My Android Development ,I don't think that I will switch
Naturally it's up to you, but it would probably be a good idea to learn some multiplatform on the side
Either way, even if the trend turns out to be true, it will take time and it's likely you'll still have a job, but if, in a pinch, you might need to make the switch, you already have the tools
“There are only two kinds of languages: the ones people complain about and the ones nobody uses.”
― Bjarne Stroustrup, The C++ Programming Language
Basically the same for frameworks, tools and anything out of the programming world - so seems there are quite some android developers around
Over 10 years in native Android world. Not quitting but I'm starting to add iOS into the mix. Going through SwiftUI right now to kick off and then will start porting my main app into iOS world. It's always nice to learn something new and having that skill will surely NOT hurt me in the future. I also wanna verify all the myths about XCode and Apple dev. in general :D
Gigachad approach, keep it up!
I love modern android development, it's my favourite hobby and yeah thi can bring some money in perspective...
thank you so much for making this video .🙂
Could you do a video on ANRs "WaitHoldingLocks" its such an under covered topic. I think a lot of devs would appreciate it. You'd also have one the only videos covering it ❤. Keep up the great content.
Your 100% correct. And you got 1 subscriber. I like this video ❤ from Bangladesh 🇧🇩🇧🇩
What you said in the video made sense. Thankyou Sir.😊
this video is GOATED. I've been thinking about leaving android development for good. Now I have stuff to ponder on. Thanks Philipp
I really do enjoy developing software for Android. I came from a game developer background, an area that is way more complicated in my opinion, and I found some hapiness in Android years later.
Been working for over 6 years now, and I am strugling to get more knowledge, but I still enjoy learnin and helping other devs and clients.
After Kotlin and Compose, Android development is much better than before.
So true. Android dev became much more enjoyable since then.
I also appreciate that all Android developers more or less move in the same direction on how to code... ViewModel + LiveData or StateFlow for Presentation state management, many people use UseCases, some may directly skip it a use directly Repository (but at least there is the Repository) and a lot of similar libraries in most of the projects thanks to Google pushing Jetpack compose from almost half a decade ago (Room, Dagger -> Hilt...)
It's hard to appreciate this things and I was not aware until I started learning Flutter... 10+ state management options, project examples messy with no architecture or design patterns... and you know, I blame Javascripters, because the majority of Flutter devs right now migrated from Javascript world
I don't have time to learn another language. Bring back Eclipse and get rid of all of this crap, things were so much easier back then.
@@jeffrowe6004 Eclipse is not a Language... you mean Java + Eclipse?
@@walrider7374 I never said it was.
I started with android moved to flutter and have done iOS along the way, love your videos, don't always agree, but this seems a pretty good take
so what you are actually doing? flutter dev? android dev or ios dev?
I agree with you. In my experience multiplatform is plagued with bugs and things that just don't work. Native is still the way for getting the best of the best. For example if you need to make a widget for ios or android that's way better to do in Native. Just getting kotlin multiplatform started is ridiculous. I feel is actually faster and less buggy to develop an app twice in swiftui and jetpack compose. Also once you have most of the main components created it's super fast to update your app.
took the comment right out of my head. I had so much pain with KMM and said to myself I'd rather build it twice natively than go through this
I Generally Love Android Development. Fan of Kotlin,Compose and IDE . Few things which I don't like are
Ridiculous Policies like recent 20 testers requirement
App/Account bans with out clear messages for many devs
Different Manufacturers doing their own things like killing services etc
Things changing quickly like permissions,storage access etc.
I am gonna stick to native android development, might check out other things for fun .
Philipp you nailed it 😊😊😊😊 03:30
Google will abandon flutter sooner than you think
But don't forget that we are getting our own multiplatform language from compose ! Which will fill up the gap of Native devs demand !❤
I have also the feeling that native android development is dying due to the cross-platform. There are not so many jobs for native android. Many jobs are now for backend or cross-platform
I do feel that KMP is really the best of both worlds... Plus you get desktop and web all sharing the same code
Only bridge to native APIs ot mix and match
Kotlin will rule them all
That discussion was pure gold. All are valid logic and advices for anyone pursuing any field. I am just concerned that, even though the field will always have sufficient flow of jobs, these barrage of hype about cross-platform technologies is driving down salaries. Companies are offering 20-30% less salary that what they were offering couple of years back for similar level of experieice. And that is bad. Then again that might be the case in every other field. Thoughts?
A G R E E D ! Although Native Android development is not perfect, it is Sweet especially with the new modern tools :)
Perfect point, grass is greener on the other side.
Great video, I am a native iOS and Android developer and I 100% agree.
Wisest take on SWE at all!
Indeed engineering is all about compromises and challenges!
The big issue with KMP is the lack of multiplatform libraries. But for any other aspect it feels much better.
3:30
Going from flutter to ios to react I can clearly say that i hate lot of things in flutter which i missed on swift ui, lot of things i hated on ios but missed them on web, lot of things hate in web dev but love those features in flutter.
Everyone of the dev path has its own pros and cons.
I have tried react native and flutter, I think I will just learn swift and jetpack compose, tired of downloading packages all the time and workarounds, when it can take me just 4/5 lines if I was developing with native
The one that need to watch this video is bussiness person and project manager
Wonderful Video
Kotlin is very underrated
Since i started learning Kotlin/Android i was in love!
I never thought about changing techlogies, but in the current market situation, i'm really thinking to learn a new tech to have as a second skill, so i could improve my chances to find a better job. I'm glad KMP is out right now :)
Did you start using kmp ?
@@_hudeifa23 Yes.... Bought some courses and im learning for fun at the time... but i will add this as my second tech
]
Stop complaining and enjoy coding Android Kotlin with a Jetpack 🙂
What about complaining when things sucks, but still enjoy coding Android Kotlin with Jetpack?
When you stop talking, they shove everything they want to down your throat. We must complain when things are done wrong
Compose is like "Here's cement and some bricks, now, build a house"
But sometimes, you don't want to/don't have time to build a house. All you want is a premade one so you can get started faster but still be able to build one if you want
Talk about a Chart library, we don't have one made by the Android team. We've never had one actually made by them. Only 3rd party ones that end up outdated and full of bugs and vulnerabilities, just like MP Android Chart
@@o_glethorpe That's plan B :)
my only complain in android studio is its gradle errors are a headaches
@@jms7634 version compatability anyone 😭😅
We develop a social app using flutter and it reach 100k user .... theres a lot of bugs that happen from no. Where ... we re implement the app using native
I'm reluctant to say Android dev is great because it's so fragmented with Gradle libraries, Android docs can be a pain to follow, and the privacy requirements are just stupid.
Something more about privacy requirements?
It is always good to know more than to know less. You will be safe if you are a software engineer
amazing 👍👏
I use React Native, but I like to follow your channel to understand better about the native side
Me: Android development is so cool I can't wait to start another project.
Gradle and AVD starts running: I hate my life. Gonna change this field of development.
30minutes later realises that I've to start from scratch in Web or Flutter. Starts Android Studio again 😂❤
Same here
same but it's a dangerous practice atach only to one development area, what would you do if tomorrow android doesnt exists
yep I am learning flutter now if you want small clients fast like wordpress even bigger apps ... you have can do it with flutter. it depends on the client
but I am still doing my native. I moved to that to avoid too much fragmentation in the web back in the days
One thing i cant stand about Android is constantly deprecating useful functions and dependencies
I believe it has become like gov't. It's called empire building. Make it bigger and bigger with more and more inefficient, useless stuff and a Palo Altoian can have they're own little division.
This is so damn true, you need to check other environments to understand that yours is not that bad. During the last 10 years i've worked with almost every "famous" mobile tech (native android/iOS, RN, Flutter, Xamarin, Ionic) and at the end of the day I've always liked native android the most (and jetbrains IDEs). It's crazy how good android development actually is compared to many other stuff I've tried so far
I started with native android, then quickly shifted to react native for multiplatform because I saw the hype. Found out I cant even code very many features compared to native android, and was getting very complicated when trying to mock features. Didnt like that so I switched back to native android, and shifted to compose ui while using standard ui components for features that arent integratable in compose. Best decision ever made
Bro honestly I started my coding journey building websites, but I felt what I had to learn was much plus HTML and CSS was just too new for me in the sense that i didn’t have the right mentor, but about 3 months later I saw Java and thought its was cool, and from the beginning I sunk in with it, I think the problem is just you haven’t found the one that suits you
This Video really mean bcz now day it is making me think to leave Native Dev and check out new :(
I’ve been a professional Android developer for 10 years and I’m getting bored of it. I’ve been looking into web dev a bit and let me tell you React is basically Compose. If you’re an app developer you can develop apps on any platform.
Being a software developer is being a problem solver and all the problems you’re gonna fix in Android are the same you’d have to fix on a web or iOS app
It is not that others don't suck. In fact, I don't see myself in any other field. Jobs for Android developers are scarce. I was talking to a company and they told me they hadn't got a native Android developer in over 4 years. They are ready to pay me to learn flutter. The company I work in is not from my country and it pays me too little (315$ a month). This is why I am considering switching. also the lack of resources once you reach a certain level. if it wasn't for Philipp I don't know where I would be right now.
I am newbie in mobile development i am currently in my third month learning I learned kotlin and basics of jetpack compose what advice would you give me?
@_hudeifa23 build different apps
Focus on different things and then learn mvvm and clean architecture
Then learn to MVI
@@Asterx5 thanks 😊
I tried both and I think iOS is much easier.
I have pretty solid exp with React native and tbh.... that's the reason i switched to Swift and Kotlin... At some point the app is just not maintainable, outdated plugins, when you want to up Android version, emulator weird behaviours, every new realease of RN is i like a ticking bomb, we just waiting where something will get broken. I don't know why, but for now with Kotlin and Jetpack compose i feel more.. secured and on the right way, maybe is just a feeling idk haha, but soon will know that :)
- Situation: there are 15 competing standards.
- "This is ridiculous! We need to build a new one that will connect all of them!"
- "Yeah!"
- Situation: there are 16 competing standards.
I can't agree more
I'm curious about compose multiplatform though. That actually just seems like normal Android development plus cross platform
I have pretty good knowledge on JavaScript and react, because of that I tried react native/expo but i am not sure if I'll spend time in it or go with developing pure code, I couple of things like hidding app from launcher and start app on boot, i could not find a way so fsrt, many tutorials suggest to eject or play around with the native files like manifest, if i have to mess with them then I'd better develop purely for Android/iOS, even using something like RN, you'll get to a point where you'll struggle with something and you'll need to understand pure android/ios code.
Google Play policies doing the worst
I thought cross platform was somewhat popular until I began talking to developers in the area that I live and most talked about the majority of projects being native, while some few (it almost seemed they had to dig it out of memory) were crossplatform. I believe this is a cultural thing as well though, and that what is the reality where I am, may not be the reality another place (i.e. region, country, continent).
I like your logic nice t shirt and nice video
I'm doing android as a side project for over a year, my take for Android is that it reeks of Java over-engineering mindset, from the boilerplate code to gradle configs and the need to download a million package to run, I much prefer flutter for the long run, these complexities and the time it consumes builds up over time that it is just not worth it for projects that are not very big.
Remove Gradle 🗿
The 20 tester policy is going to kill Android
The whole fkin Google Play
how can i record both preview and GraphicOverlay surfaces simultaneously in android studio?
I'm Fresher Native Android Developer and have less amount of experience in android development I would appreciate if someone can help me, like as an native android developer what are places/sites where I can add my query except StackOverflow and get answers and also find new content to read on 3D in android development with unity or gltf,etc.
Flutter UI + KMM Backend is my favorite stack right now.
Dart and Flutter just for the Presentation Layer... Kotlin for the rest.
can you use them togather and how if you do not mind?
@@_hudeifa23 Search for Flutter Plugin and Kotlin. Aside the technicallities, you first need to understand the value of modularization and this is something that makes no sense in small projects. The idea is to delegate all the UI to Flutter and the Domain and Data layer to the Kotlin modules which are consumed as Plugins. You end up having the best of both worlds... Dart is no near as good as Kotlin in general terms, and Flutter UI is (in my personal opinion) way above Compose right now.
I was in the first 100K apps on the store and the amount of times I have to update becaues of some policy chage is just painful. That switch in the file system where you can't access the shared file system anymore is horrendous. Of course web blocks that too. Anyone know if Android development is Delphi is any good?, the old Delphi form designer was awesome
As a flutter dev I don't get the people who think that "native" app development will become obsolete. That never can be the case. You WILL need to code in native (both java / Kotlin and swift) for your complicated flutter app. Flutter itself has recognized this. I'm currently learning kotlin / java and planning to learn swift as well.
We are mobile app devs, not just flutter devs.
Thank you
flutter is useless , what about react native .
it all depends on your use cases and your customers
Some give the advice: learn a new language every year. Keeps you humble and intelligent to. With that in mind, I say, learn to love Android, Swift, Flutter.
Me: sees video's title, mumbling about how I hear this for about a decade now
Philipp: says exactly the same thing
Me: happy 38yo boy 😁
Your videos have become more and more click bait. 😢 While the content is usually good, the drama make them seem less and less professional.
Influencer developer
I have been working on native development for over a decade, and I started to notice the problem in 2017 when Google began to focus more on better ways for development and best practices, which is great for us but didn't add significant value to the end-user experience after material design and security features were released. Also, there is significant alignment now between native development for both Android and iOS, which is pushing more towards a unified way for development. There is one advantage with modern cross-platform tools: teams can still write native code inside frameworks like React Native, for example. Lastly, when Google started to launch Pixel phones, they focused on releasing features exclusively to the Pixel device itself, similar to how any software company develops a product, rather than making them available to developers to use, until recently with AI.
Im developing for android automotive os. Trust me the phone emulators are working really well in comparison to the automotive ones😅
I agree with you 100% on this one! I don't have experience with XCode.
I also don't have experience with Flutter or React Native but one question arises for me about that.
How do this multi-plataform development frameworks handle specific native libraries/services? Isn't that a quite big limitation of multi-platform development? Or is it just something which is possible to implement easily? Thankssssss :)
Their use native code ios/android so when you need a native feature you should have the code inside.
Basically you can do that writing native code for each platform and then consume it in flutter but this will be become in a mess in a large apps, all this it’s a kind of bridge between native layer and flutter as well as react native does same
did KMM COMPOSE MULTI create for android developers?
Its true
Gradle build times make learning by experience more painful. Patience or tons of extra RAM required.
Everytime I work on a React Native project, my love for Android Sky-Rockets
I've considered giving up on Android because I am scared that one day it'll be replaced and I'll be obsolete. I haven't worked with any other technology but Android over the past 8 years and I always have wondered "What else should I learn in order to stay in the bussines?" and my worries have grown up with every news about IA. I would appreciate any advice.
if i create a android app using Jetpack Compose Multiplatform the app will be native in android?
During the first two to three years I am afraid of these cross platform solutions, not until I realized that there’s still a lot of cases where native is to go solution due to reliance on some JNI libraries. I would say cross platform might be good if you just wanted basic apps that fetch data from APIs or store data locally, but if you wanted to work with some hardware and very optimized app then native still the first class solution. There’s a lot market that doesn’t need an iOS version so i suggest learn to specialize on that segment of industry as well. What I don’t like about cross platform solutions is it abstract or hide a lot of stuff to devs which are fundamental and important specially for juniors.
I take it very serious to quit not only Android but whole mobile development shifting to backend development. My reasons : 1. I hate working on UI and designs. 2. Slow development because of the long build time taken by gradle. 3. I love implementing business logic and dealing with database.
me too but the mobile dev is the only job i was offered in my intern and in my country there is not many jobs for progrmmers
native good for hardware and IOT
development on devices without GP (hello Huawei etc.) annoys me more and more ((