Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

J2ME was my first experience with mobile app development. It was very direct and easy to program for! But it definitely needed testing on the different devices. We had an array of different phones to test on. And some definitely had a nicer implementation than others.

The Java it supported was very old fashioned, with no generics. Which was a pain at times.



Android is no different, even though Google used to say otherwise to push Android over J2ME.

https://engineering.fb.com/2016/07/13/android/the-mobile-dev...


Even iOS exist in many different sizes and configurations these days. If you look closer at the pictures in that post you will see multiple iphones.

I think it is fair to say that no serious developer will publish an app without testing on at least 2-3 physical devices.


True, but iOS doesn't have OEMs having their own forks, which takes this to the same level as J2ME used to be.

Whatever they come up in GUI features, changes to AOSP behaviours, custom drivers, their own extended SDKs on top, hardware form factors,...


If you mean Chinese or Russian OEMs with their own version of ASOP, well that's not really Android anymore and is not using the Play app store anyway.

Western devices have to go through certification to use the name Android, so its not the wild wild west you think it is (although obviously some bugs may fall through).

See for example

https://source.android.com/docs/compatibility/cts


I certainly mean Android device I can buy in any European country from the lame 100 euros pre-paid throwaway phone up to 2000 euros three ways foldable phone, plus everything else running Android on cars, kiosks, TVs, handhelds and everywhere else Android gets installed as alternative to GNU/Linux by OEMs.

CTS only covers a subset of what everyone is doing with Android.

And it will never cover everything, because as the Android team likes to point out, they don't want to stiffle the innovation of their partners.


You wish. Xiaomi is especially popular in Europe and has countless specific bugs. This "certification" does nothing.


Having experience with both platforms I'd say it's not comparable. J2ME was much worse in this regard.


I also have experience across Sharp, Nokia and Sony Ericson devices from J2ME days, and whatever brands ship Android phones, and outside flagship Android models, it is a jungle out there in drivers, AOSP customisations, vendor specific APIs, so I am of different point of view.


Perhaps I'm spoiled from working mostly with React Native nowadays and have forgotten the pain :)


I have a few J2ME apps under my belt as well.

The most infuriating thing was extreme fragmentation when it came to support of various APIs in devices, even devices from the same vendor. Nokia was prominently culpable of this. The Finnish giant vomited out an enormous stream of S40 and S60 phones whose support for APIs was all over the map, which meant producing a shitload of JARs depending of what you needed, and the code was cluttered with constant checks of what is supported and what not. What an irony given Java's official motto of "Write once, run anywhere". Just freaking no.

Being a developer for Nokia was its own kind of hell. They never understood what API standardization is for and didn't care about your time and effort.

Hey, here are 12 different devices for this year with different hardware, screen size and other equipment, and you'd better get your hands on all of them to make sure that your app really works and looks acceptably, because an emulator only gets you half way. Also, any firmware update from us can kick your house of cards apart, and there will be like three of them coming in the next year. Happy programming!


> whose support for APIs was all over the map, which meant producing a shitload of JARs depending of what you needed

I wouldn't be surprised if this was actually one of the reasons why Sun fought MS and Google when they tried to make their own "Java" versions (embrace+extend). They didn't want a repeat of the J2ME situation.


Sun lawsuit against Microsoft predated J2ME, and was related to language changes.


> Hey, here are 12 different devices for this year with different hardware, screen size and other equipment

Also, they don't have wifi, and they only do GSM 900/1800, have fun testing in the US.


> Java's official motto of "Write once, run anywhere"

The unofficial motto was "Write once, debug everywhere"




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: