5 ms·
Yeah man, I don't get it. There are shitty parts of android development, and there are great parts of android development, but android studio is fine. (I didn
by warcher 10y ago
Yeah man, I don't get it. There are shitty parts of android development, and there are great parts of android development, but android studio is fine. (I didn't say great, I said fine. Perfectly adequate.)
NDK programming still sucks, although it's been slowly getting better. Android's activity/fragment lifecycle/state restart is a bugfuck. There are legitimate grievances to be had here, but this guy isn't hip enough to the system to make them.
- m_fayer 10y agoYeah, bit by bit a lot of the rough edges are being worn away. The one thing in addition to the bananas lifecycles and execution models that really gets my goat is how hideously slow the modify-deploy loop is, and that there's no good way to modify running code. I do a lot of custom UI work and then you really don't have much choice other than to run your app every time you make some small adjustment. And no amount of fast CPU, Genymotion, or super fast devices has made this fast enough. Web devs don't know how good they have it.
- ubercore 10y agoPreface: I understand the uselessness of the comment I'm about to make to someone with presumably a functioning android app they're developing on... I've found this to be one of the brightest spots of working with React Native. Having most of the application code in Javascript and good debugging tools really reduces that cycle. I use an app called Frappe and it's just shift-cmd-r to reload the app's javascript. There are still some parts of the app we're using native code for, and it doesn't help there.
- warcher 10y agoFrom your lips to god's ears, man. Having a tight development feedback loop is truly a blessing. They've been working on it little by little, but compiled languages just kinda hurt in that regard. That said, native is one of those places where you just have to have a lot of compiled code. Those lil phones try hard, but battery life being what it is, performance is a factor. Javascript can only go so far. Especially for consumer development, when you are going to get taken to the woodshed if somebody's piece of junk twenty dollar android special can't hold it together.
- m_fayer 10y agoI wouldn't lay the blame solely on the fact that Java is a compiled language. The loop is way faster both in iOS with their simulator and even with C# on Windows Phone/UWP, even though all those platforms use compiled languages as well. Like everything else with Android, the build process is a bit of a convoluted rube goldberg machine and compilation is just one of many steps that eat time. Also, check out Xamarin Workbooks for a good demo of how developing with a compiled language can actually be interactive.
- warcher 10y agoWell, the iOS simulator is leveraging it all running on the same box. Putting an apk up to the device can be arduous, depending on how big your app is and how bad your device is. Those swift... (edit) playgrounds, I wanna say? Those were really nice when I played with them. Getting better all the time too, although you have the obvious problem of maintaining broader application context in a non-RESTful environment. Still, slow but steady progress on hard problems is more than enough for me personally.
- vetinari 10y agoGoogle is aware of that. Meanwhile, check out Flutter: https://www.youtube.com/watch?v=Mx-AllVZ1VY https://www.youtube.com/watch?v=Mx-AllVZ1VY
- Benjammer 10y agoHave you tried Instant Run with Android Studio 2.0? You can build your code deltas and re-deploy your app, even restarting the current Activity you were on before. This has made worlds of difference for me when tweaking custom, finicky UI pieces as you describe. It's on the same order of magnitude of speed as the web devs F5-ing their browsers.
- warcher 10y agoAddendum: The performance/memory tuning tools way suck in android studio compared to iOS. Mobile performance still matters, guys.