Ex-Sun Employees Are Taking Java To iOS 115
An anonymous reader writes "Ex-Sun employees did what Sun/Oracle failed to do since the iPhone launched. They brought Java to iOS and other mobile devices. They are getting major coverage from Forbes, DDJ, hacker news and others. They are taking a unique approach of combining a Swing-like API with a open source and SaaS based solution."
Not entirely useful (Score:5, Informative)
Re:Not entirely useful (Score:4, Insightful)
Why would you want a desktop app on a phone anyway?
Except for certain very narrow use cases, it's better to have an app written for phones.
Re:Not entirely useful (Score:5, Insightful)
There hundreds of thousand Java apps that are not desktop apps, like e.g. every Android app. So what's your point?
Re: (Score:2)
Seems that my post missing an auxiliary verb. Sorry!
Re: (Score:2)
Just so long as you catch moose and squirrel. ;-)
Re: (Score:1)
Great but this won't work for Android apps since they don't use Swing.
Re:Not entirely useful (Score:4, Informative)
It will work for android. Rather than trying to run Swing on the native platform, It compiles down to whatever the native platform is. Basically in C1 you are building a meta app using their libraries. Then when it compiles, for iOS it will generate Obj-C, for Android it will generate a UI using standard Android widgets (I know Android is java, but not sure what their UI framework is called).
I'm a Java/iOS developer and have been playing around with it a bit. IMO, it has a long way to go before being useful, but it's exciting to see that what they are doing is possible. Currently their API is pretty sparse and their design tools are very primitive, so I think to match what a lot of apps are doing today, you would still end up writing a lot of native code. They have their own version of JNI that let's you do that.
I think if they keep working on it though, create a cool UI builder, add more wrappers around more core platform services (location services would be a good one to add next I think) I think they will get there.
It's neat stuff! I'm still going to do my iOS apps in Obj-C though for the time being.
Re: (Score:1)
when it compiles, for iOS it will generate Obj-C
So developing it will suck as much as Obj-C and performance will suck as much as Java?
Or did I mix this up?
Separation of model and view (Score:4, Interesting)
Re: (Score:1)
There hundreds of thousand Java apps that are not desktop apps, like e.g. every Android app.
With the exception of those using the NDK, i.e. most of them.....
Re: (Score:2)
most of them
I seriously doubt that is true. Do you have a reliable source that agrees that most Android apps use the NDK?
Re: (Score:3)
most of them
I seriously doubt that is true. Do you have a reliable source that agrees that most Android apps use the NDK?
If I had to pull a number out of my stetson(I do have one, I just never wear it) I'd say that 99% of android apps don't need ndk.
however the probability that someone interested in games has some ndk app or another is nearly 99% as well(gta & etc cool tech demo type of things need it.. that's why you're seeing them ported to both ios and android but not wp currently).
technically though this particular java solution is only of interest to developers, however it seems like it's more reasonable than phonega
Re:Not entirely useful (Score:5, Informative)
Android applications aren't Java applications. They are written in the Java language, but they are then compiled to run on the Dalvik VM. Even if they were Java applications, you couldn't simply drop them onto any old Java VM and have them work; they need all the runtime libraries present on Android to work.
Re: (Score:2)
Re:Not entirely useful (Score:4, Interesting)
That is certainly true, but most of the libraries that are used for core functionality of applications (at least if your application is not just a GUI or Android specific) are fully compatible with the Java runtime after compilation, and almost any third party lib can be compiled and run. The only problem is that many applications are too dependent on the GUI - in other words if they are badly written.
Re: (Score:1)
Only on slashdot would a post this stupid get modded up.
Just get a netbook (Score:2)
Re:Not entirely useful (Score:5, Insightful)
Why would you want a desktop app on a phone anyway?
Java is a portability option (if you are mindful). You can write a single Java based application and run it on any platform supporting the version you compiled for. This gives you instant portability to other platforms without having to wonder about ended-ness, hardware, file structure and myriad other things. Imagine writing a game on Linux and automaticaly, it would run on Windows, Mac and any other Java supported platform.
Now, all this ease does come at a cost. It takes an extra layer of software (java VM) and more CPU power and RAM than a native application but this is the tradeoff. If you are wise, you can get acceptable performance out of modern hardware.
In reality, developers haven't always coded Java with portability in mind. Some platforms (won't mention any names) have been suspect of "hobbling" the stability of Java on purpose because said platform had their own implementation to market, but that's beside the point. Java portability is a keen aspect of the language which sometimes gets overlooked. It can offer some very real benefits under favorable circumstances but is by no means the end-all many would like. It has it's drawbacks too but the portability is a big one.
Re: (Score:3)
How many high performant apps have you seen written in Java
I haven't seen many but the one I have seen [theice.com] is pretty darned impressive.
Re: (Score:1)
Shit loads. Mostly on the server side but there are some well performing Swing apps too.
Re: (Score:1)
Java portability is a keen aspect of the language which sometimes gets overlooked.
Overlooked ? It's the only damn reason it exists.
About time, more like (Score:3)
Re: (Score:3)
I don't know about you, but my cell phones have had stuff on them for years that say "powered by Java" (which mostly I launch by accident, and then close after waiting for the damned thing to start up).
Java is used for much more than just desktops. The Micro Edition has been around a long time.
Many many phones have Java code on them.
Re: (Score:1)
Who the fuck wants terrible J2ME apps on their smartphones?
Re: (Score:2)
I personally don't (like I said, I only ever launch them by accident and then close them) ... but for all I know thousands of actually useful apps are out there that people would be sad if went away. And, no, I have no idea of what they'd be. :-P
I was just pointing out that asking why someone would want Java on their phone is a little late since it's been there for years already. My Motorola Razr had it back in '02 or so I think, my Krazr had it, my LG phone has it.
Minecraft (Score:2)
It's the number one reason random people want Java on things. Their approach of compiling to native code, however, won't work with Minecraft without violating the Minecraft licensing agreement.
Re: (Score:1)
From what I see it makes it easier for Java minded devs to create apps that will compile natively to all platforms.
Re: (Score:3)
From what I see it makes it easier for Java minded devs to create apps that will compile natively to all platforms.
This is why I love developing in Java.
Re: (Score:2)
Allow me to be the first to say, "Nooooooooooooooo [nooooooooooooooo.com]!!!!!!"
Re: (Score:3)
Appcelerator? (Score:1)
Re: (Score:2)
Re: (Score:1)
You'd at least think their demo video wouldn't show a sluggish looking app. If it's that sluggish on such a toy app, one can only imagine the terrible performance of anything complex.
Swing like API? (Score:4, Funny)
Is that any API that basically doesn't work?
Re: (Score:1)
Except there are tools and instruments that are objectively shitty. Swing was terrible and looked like shit on all platforms without having to put in way more effort than it was worth.
Re: (Score:2)
Re: (Score:1)
Uh huh. So it was so easy that almost no one wrote these 'few lines of code'? Also what would have been the point of Standard Widget Toolkit [wikipedia.org] if Swing was so great and native looking?
Re: (Score:2)
Re: (Score:2)
yeah, sun did themselves a disserve by not making the system look and feel the default.
Re: (Score:2)
When Sun won it's case against MS and MS had to include Sun's Java I thought MS should retaliate by including Swing and using it to render Sun's Logo. Image the logo rendering one pixel at a time, painfully slowly...
Re: (Score:3)
Yeah, you don't know how to use it, so it must suck...
Re: (Score:3)
Re: (Score:1)
Add SQuirreL to this list.
Re: (Score:1)
Not to mention all of the jetbrains apps (IntelliJ, PyCharm, PhpStorm, RubyMine, AppCode, etc)
Re: (Score:1)
I've used Eclipse and use Vuze. They both have the non-native Java stench.
Re: (Score:2)
Re: (Score:1)
You must be the product of a modern "computer science" program. You got some vocational training in Java and were sent out into the world. It's not your fault, you just don't know any better.
Re: (Score:2)
You must be the product of a modern "computer science" program. You got some vocational training in Java and were sent out into the world. It's not your fault, you just don't know any better.
Nope. Started my career doing C, Perl and the odd bit of Sparc assembly having learned to program on an Atari ST in the late 1980s. Added C++ to the mix and then Java. Gradually the Java supplanted all the others, since the tools and library support are excellent.
Re: (Score:2)
So programs that are slow to start up, eat memory like crazy and are pretty laggy and unresponsive? Yep, typical Java 'awesomeness'.
Re: (Score:2)
I was thinking the same thing. Java is great for prototyping.
Unfortunately, business people rarely know the difference between a software prototype and a product.
Re: (Score:1)
Re: (Score:2)
Re: (Score:1, Informative)
Based on that quote, I am quite sure you've never tried a Galaxy S3 and an iPhone running side by side, because the user interface on the S3 (running Java/Dalvik) is silkier and smoother than any iPhone.
Re: (Score:1)
The last side-by-side comparison I did was with the Note when it first came out, and it was far from as smooth as the 6 month old iPhone 4s. iOS gives one full core priority to handle all UI events, and you can definitely tell the difference. The touch vs. swipe detection is far better than Android as well, with a fraction of the amount of drag length required for it to "figure out" that you are dragging. In my last test, it took about 1/4" of drag on an Android phone before it actually started scrolling
Re: (Score:3)
I have used both side by side, and I dispute your claim - its smoother some of the time, its worse some of the time.
Re: (Score:1)
Yeah and only needed double the CPU cores more RAM to do so.
Re:No, thanks. (Score:5, Interesting)
Um.. you realize that every Android application is written in Java, and there are quite a few exceptional Android applications.
I think you'd be surprised at how many of those are written using the NDK. Download addon detector and look for yourself (its an app typically used to check an app doesn't include some dodgy notification-based ad networks, but it also shows you a load of other interesting info). 80% of the games I have on my phone are NDK based, they're the ones that are responsive and fast.
Re: (Score:3)
Re: (Score:2)
I'd hope that people realise that web apps are fine for LoB apps, if you're entering data and getting results, these are fine. Some javascript libraries give fine performance for this kind of stuff (network latency considered), but when it comes to game-style performance, you need something more native. I wonder if webgl can step up to give us this kind of perf, but if it cannot then any webapp will just not be suitable for low-latency, fast response applications.
Of course, this means WebGL libraries are ne
Java Stack Traces (Score:5, Funny)
Re:Java Stack Traces (Score:4, Insightful)
If an App falls over and no one sees an error message, did it really fail?
Tomorrows News: Oracle sues ex-employees.... (Score:3)
Re: (Score:2)
Re: (Score:2)
That's almost correct, except Larry Ellison prefers to dress up like a woman and hide behind his lawyers.
And then hunt them like animals.
Over Steve Jobs' dead body they will (Score:1)
Re: (Score:2)
Too soon.
cross platform (Score:2)
Re: (Score:2)
Compiles to the cloud? I can see it,,,
PHB: where is your code?
Programmer: the cloud ate it
Re: (Score:2)
So based on your logic. Forbes makes a mistake so they always make a mistake?
Go back to Logic 101.
Why? (Score:1)
Apple shunned other 3rd party app platforms like Flash because they wanted to lock down their walled garden, so I don't really think Apple wants Java on their platform.
Java for web is dead, period. Any website that requires Java to view is a failure, on any platform, period.
Java as a platform has been pretty much shunned by almost every other platform due to Oracle, Apple isn't going to let Java touch iOS and have them bastards hard on there case.
Java the language can live on, but Java the platform has to
Re: (Score:2)
well, yes.. but they also said that they shunned 3rd party app platforms because they are almost universally crap.
Re: (Score:1)
Spoken like the truly uninformed. There's tons of applet code out there, you probably don't notice it because they don't run slow like they did 15 years ago. I play Yahoo Games hearts almost daily and their applets have been around for probably 10 years.
Simple test, disable Java in your browser to see how many Java web apps you're using that you never noticed.
Re: (Score:3)
I've never had Java enabled in my browser - I've not noticed anything really missing from any websites I have ever visited. No big holes in the page, no missing functionality. Where are these wonderous hidden applets that you claim should be there?
Re: (Score:2)
apple doesn't care _how_ your app runs. it can have a vm bundled with it, you can develope even flash apps for ios.
what they do care is that your app isnt' a gateway to running other apps.
and thanks to my bank I have to use a horribly designed java applet every time I want to pay some bills - but even in that case the fact that it's horribly written piece of shit isn't java's fault at all, just the fucking stupid fucks who designed the system(no it doesn't add any real extra layer of security to the login p
Re: (Score:2)
Not that I agree with much of your post (each to his own) but this product translates Java to the native platforms, there is no embedded VM. So this is Java the language and not Java the platform.
Judging from the video (Score:2)
http://www.youtube.com/watch?v=lkPt3jDW8Bs [youtube.com]
It's just about as slow as a translated hack. DDJ reports that they draw all their UI elements from scratch, which would explain it.
Granted, the video could be choppy because their recording software is bad or they intentionally slowed it down, but I've had an iPhone 3G (the demo is a faster 3GS) and my apps aren't this slow.
I don't care about Java for the UI on iPhones (Score:2)
I figure the native APIs will always rule, especially on resource limited mobile apps. Now, what I would like is the ability to link in Java libraries.
You can now (Score:3)
You can now experience the same poor application performance and battery life of android devices. Download Now!
Re: (Score:2)
My Android IS11CA lasts a good 3 days in idle mode. Don't get me wrong, that's nothing fantastic, but it's well more than a day.
We already have the original (Score:2)
Re: (Score:3)
Java basically started out as a clone of OPENSTEP - i.e., the very system/API that is the ancestor of OS X and iOS or Cocoa and Cocoa Touch respectively.
You mean (Java) Swing "basically started out as a clone of OPENSTEP".
So, when I can have the matured original, why would I want the clone?
So you could use a language like Java and have things like Garbage Collection I assume. And yes, my sentiments exactly, why use a halfway started clone of SmallTalk like Objective C when you could use Java, which is a halfway finished slightly better clone of SmallTalk instead?
Re: (Score:1)
Re: (Score:1)
Re: (Score:1)
Re: (Score:2)
FlexyCore (Score:1)
Other way around please (Score:2)
Personally [I said personally so it's an opinion, damnit] I hate Java. I've been doing Android development for quite a while now and not a day goes by I don't wish Google would enhance the NDK to a practically usable level so I could code in C++. I've even gone out of my way to code some things in Ruby and Scala, but the implemetations just can't match native code and can't make use of enough of the tools for the platform to be "practical". I would have taken a full ObjectiveC port for Android any day over