Forgot your password?
typodupeerror
Android Iphone Programming Games Linux Technology

Multi-Platform App Created Using Single Code Base 296

Posted by kdawson
from the earth-water-fire dept.
andylim writes in with news of a reasonably impressive demonstration of the multi-platform capabilities of Adobe AIR. "Christian Cantrell, a technical product manager at Adobe, has created an app for multiple platforms including OS X, Windows 7, Ubuntu, Android, iPhone OS, and iPad OS. What's amazing is that all the platforms use the same code base. 'The application is called iReverse, and it's a fully functional Reversi game (complete with a pretty decent AI). Although iReverse is fun to play, the most amazing thing about the project is the fact that it runs in all these different environments completely unchanged. In other words, the exact same code base is used to build versions for five different environments. There's no other platform in the world that can boast this level of flexibility — not even close.'" Cantrell says he will open-source the code for iReverse and document how he pulled this off.
This discussion has been archived. No new comments can be posted.

Multi-Platform App Created Using Single Code Base

Comments Filter:
  • by fahrbot-bot (874524) on Sunday April 04, 2010 @01:43PM (#31725914)

    What's amazing is that all the platforms use the same code base. ... There's no other platform in the world that can boast this level of flexibility -- not even close.

    Guy creates functionality I've been using in Java for 8 years; film at 11.

  • Marketing (Score:4, Insightful)

    by g051051 (71145) * on Sunday April 04, 2010 @01:55PM (#31726002)

    It's not "one codebase for 5 environments", it's "one codebase for the AIR app, and multiple codebases for AIR itself that had to be ported to 5 different environments." There's nothing even remotely special about that, just empty hype.

  • by Foofoobar (318279) on Sunday April 04, 2010 @01:59PM (#31726058)
    Well speaking as a Java fan myself, that's not entirely true. This runs on the iPhone which Apple won't allow Java code to run on. Apple would like to see Java die and is doing it's best to kill it and Microsoft as well. The only people who like it are enterprises and developers... thankfully though, that's still alot of us and eventually Steve Job's will die.
  • by binarylarry (1338699) on Sunday April 04, 2010 @02:04PM (#31726092)

    The current Java runtime makes Flash/AIR/.NET/Whatever look like a retarded snail trying to climb a salt hill. It's much faster than the competition, it even competes with statically compiled native code in terms of execution times. You rarely even use Java's interepter, the runtime compiles bytecode on the fly to native code and executes that.

    Swing has traditionally sucked, which is why SWT was created.

    Now tools for things like this are where Flash beats Java. Java really only has tools for programmers, not psuedo-programmer artist types who typically create cool things in Flash. Sun seems to have never gotten this aspect.

  • by Anonymous Coward on Sunday April 04, 2010 @02:04PM (#31726110)

    When the industry as a whole moved from C and C++ to Java in the late 1990s, one of our main problems was the bloat that Java brought to the table. Memory consumption was a real issue, as was its slow nature. Things have improved somewhat, mainly driven by vast hardware advances. 15 years on, Java is finally usable.

    Now, when we moved from C and C++ to Java, we did get a huge productivity boost, even if our apps themselves were more bloated and ran slower. Apps that would've taken us a year to develop using C++ could be finished in a couple of months using Java. We could also develop much more complex software than we could using C++. So Java did offer some real benefits, and that's why it became popular.

    We can't say the same for Flash and HTML5, however. They both suffer from far worse bloat than Java ever did. For instance, take watching videos on YouTube. I just did that using Firefox on Linux, and the Firefox process is now using 3966 MB of RAM. That's its resident usage, not virtual usage, as well. Its virtual usage is currently 4512 MB.

    HTML5 isn't much better than Flash. I've tried some demos that cause similar memory usage problems, even in Chrome. And they run so fucking slowly, too.

    So not only do Flash and HTML5 it offer a worse runtime experience for the user, but they're much more limited than Java, and much slower to develop with. They're failures all around. Unfortunately, a lot of former PHP developers from the 1990s and early 2000s (ie. idiots) have now become managers, and somehow think that web-based technologies are beneficial for users and developers. Clearly, they're not. They make everyone's lives more miserable.

  • by ciroknight (601098) on Sunday April 04, 2010 @02:16PM (#31726186)
    ...And the runtime environment has millions of lines of #ifdef __LINUX__, ...

    Whether you hide behind a runtime is entirely irrelevant. Because the APIs differ between OSes, somewhere, someone had to write some nasty sticky portability shims.
  • by KingMotley (944240) * on Sunday April 04, 2010 @03:07PM (#31726558) Journal

    Off topic, but I couldn't help but read your sig. Apparently you and/or the person that wrote that list never spent more than 2 minutes in .NET because the majority of the reasons given are just plain false, and another large portion are poorly hidden marketing gimmicks.

  • by centuren (106470) on Sunday April 04, 2010 @03:20PM (#31726650) Homepage Journal

    Java? It's really sluggish and non-elegant compared to AIR. I'm still not sure how the Java interpreter performs so badly on UI elements. While technically probably OK (it's been losing to .NET though), the mere fact that all Java apps feel sluggish creates a bad image for Java. That combined with the fact that .NET has been constantly instructing new features and tens of languages support it (C#, Basic, Object Pascal, ASP..)

    Java does bad on GUI's. It's true. OTOH, it doesn't actually do that badly on graphics. It has OpenGL bindings, so for things like making games, it actually does just fine. I'm not personally a big fan of Java, but normal "businessy" GUI apps are really the only are where Java really falls down on performance. And, even then, it's nowhere near as bad as the Java reputation would suggest.

    It's worth pointing out somewhere that the iReversi program in the article doesn't actually seem to touch the GUI at all. I see no menus, search boxes, scrollbars, etc, just whatever window decoration the OS has to offer. The game itself is only graphics, which you point out can make things a lot easier. Basically, this game seems at least on par with the least impressive demonstration of cross-platform code I can imagine. It might as well just be "Hello, World!". How about an office suite like OO.o, an image editor like GIMP, a chat client like Pidgin, or anything that requires actual use of a GUI that so complicates the cross-platform approach?

    Don't show me something simple and tell me it's a demonstration of overcoming a complex and longstanding issue. I can write a web page that renders the same in Firefox 3.6 as it does in IE 5, but that doesn't mean I've created anything special; I just wrote something basic enough that avoids the big issues.

  • by dominious (1077089) on Sunday April 04, 2010 @03:40PM (#31726796)

    This runs on the iPhone which Apple won't allow Java code to run on.

    So Java is not flexible because Apple won't allow it on their platform? wtf?

    ... There's no other platform in the world (JAVA) that can boast this level of flexibility (JAVA) -- not even close. (JAVA)

    some /.ers correctly classified this as slashvertisment

  • by StormReaver (59959) on Sunday April 04, 2010 @03:44PM (#31726826)

    This runs on the iPhone which Apple won't allow Java code to run on.

    That's a technicality. The only thing holding Java back from running on the iPhone is Apple's corporate politics. Technologically, Java is capable. As such, I'd give the point to Java.

    Qt is another multi-platform technology that predates (and, like Java, betters) what is being described in this article. Contrary to the article, Java and Qt are much better for cross-platform development, and predate this attempt by more than a decade. This article is way late to the party.

  • Re:Marketing (Score:2, Insightful)

    by g051051 (71145) * on Sunday April 04, 2010 @03:57PM (#31726924)

    The point is that it isn't unique or special, it's just another VM architecture, just like Java, .NET, etc.

  • by 0xdeadbeef (28836) on Sunday April 04, 2010 @06:00PM (#31727762) Homepage Journal

    > For instance the String class represents all strings using UCS2 internally - if that isn't bloat I don't know what is!

    Because if 7-bit ASCII is good enough for America, it ought to be good enough for everybody!

  • by Liquidrage (640463) on Sunday April 04, 2010 @09:31PM (#31729366)
    I think LINQ is a biggest game changer out there right now. It's the biggest thing I've seen in a while. Querying your own object collection is extremely powerful.
  • The biggest failure of Java was the whole "applet" integration mess with the browser. Slow to download, mixed-bag JREs that were usually mutually exclusive (Java evolved fast back then). and 80% of the time the applet just didn't load or start.

    Left the whole industry with a sour taste in it's mouth. Could be why I've heard HTML5 is dropping applet support.

"Ahead warp factor 1" - Captain Kirk

Working...