You've clearly never done professional web development, or you've only participated in green-field projects where you and one other person are the only ones working on it.
I've never been allowed to pick the crap I have to maintain.
WebDev is as simple or complex as you want it to be. You can write clientside software in a single file that will run on almost any computer or phone in the world without needing the user to install anything. And you can guarantee that breaking changes to the language will never render your app unrunnable.
As apps' needs and the community of programmers gave grown, we have developed abstractions to make hard things easy. For example, you can build APIs in the language of your choice, often in a few lines of code. What is simpler than a Flask app?
There are some questionable complaints in this blog post (I have not encountered the issue with separate layouts for different DPIs, for example), but it’s true that native Android development is frustrating on a semi-regular basis, with some of the most unexpected and random tasks posing more of a challenge than they have any right to.
I frequently find myself wishing I could write Android apps with Swift and UIKit. They have their own warts, but the majority of difficulties you’ll face with them involve more advanced/less used SDKs… its base UI components work very well and mostly act as one would expect them to, especially with the improvements to UICollectionView/UITableView brought in iOS 13. Way fewer surprise NullPointerExceptions too thanks to Swift being a much cleaner break from Objective-C than Kotlin is from Java.
This is the truth, Android API's are poorly designed, Architecture is like a spaghetti code and fragmentation of the OS is horrible in comparison with iOS which sends a message how much Google cares vs Apple about developers and User Experience. Not to mention Kotlin, still love Java and prefer to use that.
I wouldn't bet on it. I tried to write stuff for android a decade ago and it was horrible. Then tried 5 years later when they released Android Studio. Still roughly just as horrible. I'm not keen on trying it now. I'll give it another 5 years or a decade.
And it's not that I have thin skin. I find web development pretty nice and have no qualms about all of the js libraries.
I tried my hand at an Android app.. the experience made me feel stupid. There's so much boilerplate and yet none of them guides you towards any sensible app architecture. I'm a systems programmer, but I was able to pick up Vue and Bootstrap and cobble together a functional dev UI in a week, despite not knowing JavaScript. I tried and failed with vanilla Android Studio, then decided to try the "Android Jetpack" guides which led me to third-party libraries with broken codegen.
It's just not fun, you know? Apps should be fun to make.
Android reminds me of MFC for Windows development. Instead of reasonable way to build my app I get unguided tour over implementation details of the platform.
Flutter? As an iOS dev, I've considered learning that to build Android apps rather than the actual native Android SDK, just because the framework sounds worse to manage.
I don't think it's too hard for Google to build a better SDK, if they really wanted to. I think it's hard to get users to adopt it, despite its benefits.
I have been developing Android apps since the beginning, although I have cut back my time on Android largely because it is a filthy experience. How many times have we mashed the feedback button and still end up with a terrible emulator? A non-issue for iOS folks.
Flutter represents a great opportunity imho to uplift development capability and avoid needless fragmentation. It reminds me of Adobe's Flex in some ways and I can assure you that I have _never_ had such a productive client-side development environment since! Flex united developers, graphic designers, animators etc. 3 second build times...worked on everything even if the runtime was cough 'sketchy'. I'd love to see Chet Haase move onto Flutter and resume similar videos to his Adobe days.
As for all of the Kotlin noise, like much of Android this is "movement not progress" and yet another example of fragmentation. I certainly like many aspects of Kotlin _but_ Java 14 is very nice AND enables greater participation from different roles (e.g. lower barrier to entry for the Spring Boot camp). I'd love to see Google uplifting the Java / JVM community and support modern Java syntax on Android.
As for Google building a better SDK, clearly the Android and Flutter teams do not see eye to eye...but maybe there will be lessons learned for both. I will be keeping an eye on Fuchsia with respect to developer tooling.
They are equipped, in the sense that they have plenty of cash to hire a competent developer team. They also probably already employ everybody they would need, but at present have them assigned to other tasks.
Wow, this is the post I wasn't brave enough to write. Been developing in android for ~3 months for school and I still do not fully understand how to load listviews, and not for lack of trying. I want to know who this guy is so I can shake their hand.
After having learned the hoops to do this properly (with recycling etc) I wish I hadn't. Unless I really have you, I'd much rather write a Flutter app without the legacy Android APIs--writing COBOL might actually be less painful.
Take any angular js app with more than 200 LoC. Migrate it to angular 8. Feel the pain.
Angular 8 is over engineered, there are a million pieces that make the app work; any of which can and do break. With the code freeze by EOD, you're trying out different compiler options just so you can get the console error to stop and pass the build. There's this unfathomable love for typescript that is designed to dumbify the js dev population. For config, There's angular.json, tsconfig.json, webpack-config.json, tsconfig-app.json and package.json to start with.
There's @component, @inject, @injectable. And you also have to know @component inherits @directive.
And while you're ramping up with this don't forget ngc and ng-packgr. Check ng-cli version before compiling.
And yeah, do this before the next angular release, which is in next month.
I remember when this kind of thing used to be called "job security" by developers, the useless complexity meant more work and more jobs. Now it's apparently become so messed up (in part as an effort to lock developers into one platform) that it's made development work hell. Perhaps developers are somewhat complicit for not objecting sooner?
> Fuck you for providing such a great security to my app that any fucking idiot can decompile it and do whatever he wants.
IMO, there are a lot of poor complaints here but this one takes the cake. What could possibly be done to prevent people from being able to decompile apks? Should anything be done? This strikes me as the antithesis of software freedom.
I guess you could use NDK. You can decompile machine code, too, but the results tend to be a lot less useful than what you can do with Dalvik bytecode.
There's no way that the people supporting this aren't just bored contrarians too, 90% of these complaints are just false, I was expecting a twist from the first half until I realized it wasn't satire.
52 comments
[ 2.7 ms ] story [ 95.8 ms ] threadOh wait...
No one is forcing you to pick up a full Angular 2.0+RxJs stack
I've never been allowed to pick the crap I have to maintain.
As apps' needs and the community of programmers gave grown, we have developed abstractions to make hard things easy. For example, you can build APIs in the language of your choice, often in a few lines of code. What is simpler than a Flask app?
I frequently find myself wishing I could write Android apps with Swift and UIKit. They have their own warts, but the majority of difficulties you’ll face with them involve more advanced/less used SDKs… its base UI components work very well and mostly act as one would expect them to, especially with the improvements to UICollectionView/UITableView brought in iOS 13. Way fewer surprise NullPointerExceptions too thanks to Swift being a much cleaner break from Objective-C than Kotlin is from Java.
And it's not that I have thin skin. I find web development pretty nice and have no qualms about all of the js libraries.
It's just not fun, you know? Apps should be fun to make.
Android framework is a dancing bear. What is remarkable is not how well it dances, but that it can be made to dance at all.
This is not to excuse Alphabet, who are entirely well-enough equipped to make something actually good, if they could be bothered.
Are they though? What's a good developer thing that came from google and is not a niche blackbox?
I don't think it's too hard for Google to build a better SDK, if they really wanted to. I think it's hard to get users to adopt it, despite its benefits.
Flutter represents a great opportunity imho to uplift development capability and avoid needless fragmentation. It reminds me of Adobe's Flex in some ways and I can assure you that I have _never_ had such a productive client-side development environment since! Flex united developers, graphic designers, animators etc. 3 second build times...worked on everything even if the runtime was cough 'sketchy'. I'd love to see Chet Haase move onto Flutter and resume similar videos to his Adobe days.
As for all of the Kotlin noise, like much of Android this is "movement not progress" and yet another example of fragmentation. I certainly like many aspects of Kotlin _but_ Java 14 is very nice AND enables greater participation from different roles (e.g. lower barrier to entry for the Spring Boot camp). I'd love to see Google uplifting the Java / JVM community and support modern Java syntax on Android.
As for Google building a better SDK, clearly the Android and Flutter teams do not see eye to eye...but maybe there will be lessons learned for both. I will be keeping an eye on Fuchsia with respect to developer tooling.
https://news.ycombinator.com/item?id=21308192
It's amazing how many bad UI patterns get replicated through the years by teams with little experience or who don't use their own frameworks.
Also - it's a hard problem.
And yet still so relevant today.
I'm asking OP as well as anyone else who wishes to comment.
Angular 8 is over engineered, there are a million pieces that make the app work; any of which can and do break. With the code freeze by EOD, you're trying out different compiler options just so you can get the console error to stop and pass the build. There's this unfathomable love for typescript that is designed to dumbify the js dev population. For config, There's angular.json, tsconfig.json, webpack-config.json, tsconfig-app.json and package.json to start with.
There's @component, @inject, @injectable. And you also have to know @component inherits @directive.
And while you're ramping up with this don't forget ngc and ng-packgr. Check ng-cli version before compiling.
And yeah, do this before the next angular release, which is in next month.
There is no job security in mobile apps.
IMO, there are a lot of poor complaints here but this one takes the cake. What could possibly be done to prevent people from being able to decompile apks? Should anything be done? This strikes me as the antithesis of software freedom.
He's correct of course.
And it's great to know I'm not alone (we need to start a club methinks).