Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Multi-Platform App Created Using Single Code Base

kdawson posted more than 4 years ago | from the earth-water-fire dept.

Android 296

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.

cancel ×

296 comments

Sorry! There are no comments related to the filter you selected.

Jews for Nerds! (-1, Flamebait)

Anonymous Coward | more than 4 years ago | (#31725872)

Jews, also known as kikes, hebes, hymies, yids, gold niggers, oven magnets, hook noses, sheenies, swindlers, criminals, "firewood", and Arabs in denial are a subhuman species of reptilian extra-terrestrials and adherents to one of the world's oldest major religions, called "Judaism", otherwise known as "The Worship of Money" or "Eating Arab Babies".

Judaism was the world's first master race theory. The Jew religion teaches that Jews are the Chosen People of God and that there is a sacred mystical quality to Jew DNA. In olden times, Jew prophets would, under the command of YHWH, frequently lead the Jews on genocidal rampages against neighboring populations, and even today Jew leaders often cite Jewish religious ideals to justify their ongoing genocide of sandniggers. Judaism ironically found its mirror-image inversion in the anti-Jew Aryan racialism of the Nazis.

Despite only being 0.22% of the world's population, Jews control 99% of the world's money. Not only do the Jews control the world, but also the media, the banks, the space program, and LiveJournal's porn communities and Gay communities. All Jews possess the following features: an extremely large nose, fake boobs, curly hair that reeks of faggotry, one of those gay hats, a love of coke, a law practice, a roll of money, a small cock, or shitty taste in dental hygiene.

Jews invented both Communism and Capitalism. Karl Marx, of course, was a Jew, which was why he understood money so well, and in fact he was converted to Communism by another Jew, Moses Hess, the actual founder of Zionism, who ghost-wrote Marx's The German Ideology. Capitalism was created when Christian Europeans threw away their morals and decided to embrace Jewish practices like usury (see: John Calvin). Jews were the first group to create a sophisticated banking system, which they used to fund the Crusades in order to pit Christians and Muslims (both adhering to religions derived from and controlled by Jews) against each other to kill as many people as possible in a macabre human sacrifice to YHWH.

The Jew banking system was based on fraud and lies, so when it inevitably collapsed, the Jews just pwned as many people as possible by unleashing the Black Plague on them. Later, Jews economically controlled medieval Venice (the first modern maritime trade empire), and then crypto-Jewish merchants economically controlled the Spanish Empire, including the slave trade. Openly Jewish bankers orchestrated the Dutch Empire and founded Jew Amsterdam (later Jew York). Later the Dutch Jews moved to London because they thought it would be a better base for a global empire, and actually brought a Dutch nobleman, William III, with them, who they installed in a coup d'état (more like Jew d'état, amirite?) as new King of the British Empire. For hundreds of years, Jewish bankers controlled global trade through their bases in Jew York City and London. European colonialism was, through its history, essentially a plot whereby Jews could gain control of gold and diamond mines in poor countries and increase their stranglehold over the global economy.

Jews also enjoy slicing up baby penises for fun, some even enjoy sucking them. See below.

Jews also created Jew search engine Google, so now they can find all Jew information on Internets.

Some suggest that we should use Jews instead of dogs to sniff out large amounts of concealed cash or anything else worth smuggling at airports due to their sensitive Jew noses. Obviously, this is a horrible idea, because the pay is bad, and the dirty Kikes would probably form a union and demand moar money, thus increasing the burden on taxpayers everywhere.

Re:Jews for Nerds! (-1, Offtopic)

K. S. Kyosuke (729550) | more than 4 years ago | (#31726064)

"Jews for Nerds"? Obviously, in your case, it's more like "News for jerks".

What next? Hello World? (-1)

Anonymous Coward | more than 4 years ago | (#31725876)

I can't wait !!

Probably 500 lines of actual game play code (5, Funny)

DarthBart (640519) | more than 4 years ago | (#31725886)

combined with 350 million lines of #ifdef _LINUX_ or #ifdef _MACOS_ or #ifdef _UNICOS_.

Re:Probably 500 lines of actual game play code (1, Interesting)

Anonymous Coward | more than 4 years ago | (#31725960)

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

Adobe AIR is to applications like Flash is to webpages. Ludicrous resource usage and awkward non-native GUI elements. When I tried TweetDeck, it would run 20% CPU when idle - and would have a footprint approaching 1GB if left running over night. It doesn't install on 64-bit Linux very well, either.

Re:Probably 500 lines of actual game play code (1)

sopssa (1498795) | more than 4 years ago | (#31725996)

But thats the reason you don't need to do exactly what the GP suggested with #ifdef's. The same code works everywhere. Of course you can't have native GUI elements in that case as it needs to support every platform. The GUI is handled by the runtime environment, just like with Java and other cross-platform languages.

Re:Probably 500 lines of actual game play code (3, Insightful)

ciroknight (601098) | more than 4 years ago | (#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.

Re:Probably 500 lines of actual game play code (1)

mfnickster (182520) | more than 4 years ago | (#31726216)

> Whether you hide behind a runtime is entirely irrelevant.

It's not irrelevant if it saves you from having to include all those #IFDEFs in your own code vs. someone else's existing code.

Of course, you can do this with cross-platform libraries that are native, not interpreted. So why exactly do they persist in re-inventing this particular wheel? :-/

Re:Probably 500 lines of actual game play code (1)

AndGodSed (968378) | more than 4 years ago | (#31726006)

On my 64bit Linux TweetDeck doesn't even run properly. Black background and mostly nothing else. And I also noticed the resource hogging, but thought that was because mine was broken.

Re:Probably 500 lines of actual game play code (2, Interesting)

Jurily (900488) | more than 4 years ago | (#31726020)

No, they said it's completely unchanged across platforms. Wanna guess how it looks on Windows?

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.

These guys obviously never heard of Unix before.

Re:Probably 500 lines of actual game play code (1)

sopssa (1498795) | more than 4 years ago | (#31726090)

Unix can be quite much put into one group. Also, once you get to more complicated system calls or other levels, you're going to hit incompatibility issues. Otherwise you could just release binary (32 and 64 bit versions) and it would work in every UNIX, BSD and Linux distro. But it never does. AIR applications however do.

Re:Probably 500 lines of actual game play code (0)

Anonymous Coward | more than 4 years ago | (#31726232)

You insensitive cod, I run xnix on PPC, Alpha, AVR32, H8, MIPS, MIPSBE, SPARC, ARM, IA-64, x86, and x86_64

sopssa, it's obvious you've never used UNIX. (-1, Flamebait)

Anonymous Coward | more than 4 years ago | (#31726468)

sopssa, what the fuck are you talking about? Seriously, what the fuck are you trying to say?

Have you ever tried to port a non-trivial app from, say, HP-UX to Solaris? Let me tell you, it isn't as straightforward as "just a recompile" or any bullshit like that. You'll have to deal with a great number of differences between those systems, even though they're both Unices.

And what's this bullshit that you're spewing regarding binaries that work everywhere? I'd like to see you try to get native HP-UX binaries targeting PA-RISC to run on x86 Linux. GOOD LUCK WITH THAT, YOU FUCKING IDIOT.

sopssa, you need to just not post sometimes. This is one of those times. Your claims have shown yet again that you're an ignorant twat, clearly knowing nothing about anything.

Re:Probably 500 lines of actual game play code (3, Interesting)

ciroknight (601098) | more than 4 years ago | (#31726134)

Sure it's completely "unchanged" on every platform. That doesn't mean that it doesn't have a million lines of ifdef'd code. It's just the code doesn't do anything on the platforms where it's not needed. There are vast number of portable libraries and a somewhat smaller number of applications that do just this, having platform specific code conditionally compiled in.

Anyways, I fully suspect this guy's "solution" will be something like "We just used Flash and embedded it into these application 'runtime' thingablobs and then it was simply a matter of loading up the platform agnostic swf file." "Wait, what about the source code?" "Here's the source to the Reversi game. ahahaha did you seriously think we'd open source a runtime that'd put half of us out of a job???"

Re:Probably 500 lines of actual game play code (1)

maxume (22995) | more than 4 years ago | (#31726202)

They are not open sourcing the runtime, but it is available for free.

Re:Probably 500 lines of actual game play code (0)

Anonymous Coward | more than 4 years ago | (#31726296)

oh...um....i know. its like PIZZA. yes. half day old pizza thrown into the garbage bin is also FREE ! did you know that ?

Re:Probably 500 lines of actual game play code (2, Informative)

techno-vampire (666512) | more than 4 years ago | (#31726384)

These guys obviously never heard of Unix before.

They also don't know anything about the history of computing. COBOL [wikipedia.org] was doing exactly that back at the end of 1960, which is one of the big reasons it became popular.

Re:Probably 500 lines of actual game play code (1)

Skreems (598317) | more than 4 years ago | (#31726044)

combined with 350 million lines of #ifdef _LINUX_ or #ifdef _MACOS_ or #ifdef _UNICOS_.

Sounds pretty close... in the last screenshot of the "article" you can clearly see that the project has separate directories for each platform.

Re:Probably 500 lines of actual game play code (1)

Adrian Lopez (2615) | more than 4 years ago | (#31726288)

Sounds pretty close... in the last screenshot of the "article" you can clearly see that the project has separate directories for each platform.

That's probably just to accommodate the build settings for each platform. The code itself is likely shared between all builds.

Re:Probably 500 lines of actual game play code (0)

Anonymous Coward | more than 4 years ago | (#31726048)

Adobe AIR is cross platform.. that's not the deal here. It's basically just able to adapt to what sort of screen the device the app is running on has... As I gather... Which by all means should be pretty tedious but not that hard to code.

all those platforms are yours... (-1, Troll)

Anonymous Coward | more than 4 years ago | (#31725900)

except Java.

meh. another slashvertisement about a shitty adobe product which is 20 years behind java. when will adobe ever catch up ? probably never. after HTML5 obsoletes flash adobe is sunk.

Re:all those platforms are yours... (0)

sopssa (1498795) | more than 4 years ago | (#31725984)

except Java.

meh. another slashvertisement about a shitty adobe product which is 20 years behind java. when will adobe ever catch up ? probably never. after HTML5 obsoletes flash adobe is sunk.

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..)

That combined with the fact that you can develop AIR applications with the great Adobe tools using Flash, Flex, HTML and Ajax.

Re:all those platforms are yours... (4, Insightful)

binarylarry (1338699) | more than 4 years ago | (#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.

Re:all those platforms are yours... (1)

markov_chain (202465) | more than 4 years ago | (#31726178)

psuedo-programmer artist types who typically create cool things in Flash

Best. Comment. Ever. :)

Re:all those platforms are yours... (1)

wzzzzrd (886091) | more than 4 years ago | (#31726482)

Now tools for things like this are where Flash beats Java.

Well, there is http://processing.org/ [processing.org]

Re:all those platforms are yours... (1)

zzyzyx (1382375) | more than 4 years ago | (#31726534)

Java really only has tools for programmers, not psuedo-programmer artist types who typically create cool things in Flash.

It seem you've never heard of Processing [processing.org] . It adds a layer over Java with a few simple abstractions over images, sounds, shapes, etc ... This allows artists (who are not programmers, but it's perfectly fine) to make computer graphics art relatively easily. Can be handy also for "real" programmers who want to sketch something graphic quickly.

Re:all those platforms are yours... (2, Insightful)

KingMotley (944240) | more than 4 years ago | (#31726558)

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.

Re:all those platforms are yours... (-1, Troll)

binarylarry (1338699) | more than 4 years ago | (#31726582)

never spent more than 2 minutes in .NET

large portion are poorly hidden marketing gimmicks.

ROFLMAO!

Re:all those platforms are yours... (2, Interesting)

forkazoo (138186) | more than 4 years ago | (#31726354)

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.

Re:all those platforms are yours... (1)

perryizgr8 (1370173) | more than 4 years ago | (#31726462)

i really don't think anything can be 'really sluggish and non-elegant compared to AIR'. Cause AIR is the fucking definition of sluggishness and inelegance.

Yawn (1)

Dunderflute (1001355) | more than 4 years ago | (#31725902)

So what do you do if you want to make a call to the system API? Or if you want to use something like OpenGL/OpenCL?

I've seen these before and they're more of a novelty than something robust enough for anything other than technology demos.

Re:Yawn (1)

WrongSizeGlass (838941) | more than 4 years ago | (#31725972)

So what do you do if you want to make a call to the system API? Or if you want to use something like OpenGL/OpenCL?

That's easy ... you rewrite it as a real application.

Re:Yawn (1)

Dunderflute (1001355) | more than 4 years ago | (#31726004)

Did you stop reading after the first line? That's exactly what I was suggesting.

Re:Yawn (1)

WrongSizeGlass (838941) | more than 4 years ago | (#31726034)

Did you stop reading after the first line? That's exactly what I was suggesting.

Your post was very clear ... I was simply being sarcastic.

Re:Yawn (1)

sopssa (1498795) | more than 4 years ago | (#31726016)

So what do you do if you want to make a call to the system API? Or if you want to use something like OpenGL/OpenCL?

I've seen these before and they're more of a novelty than something robust enough for anything other than technology demos.

Then you don't use it. Theres own place for both languages closely tied to the OS you're developing for and languages meant for cross-platform usage. It's your own responsibility to pick the one that suits you best.

there are other solutions (0)

Anonymous Coward | more than 4 years ago | (#31725908)

I ran into a company that claims to produce single code applications for iPhone, Blackberry, Symbian, WinMobile, Android, Palm (Pre), BREW as well as a thin client optimized for multiple browsers.

see konysolutions dot com

but it'll be interesting to see this!

Not even close? See: Java. (5, Insightful)

fahrbot-bot (874524) | more than 4 years ago | (#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.

Re:Not even close? See: Java. (4, Insightful)

Foofoobar (318279) | more than 4 years ago | (#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.

Re:Not even close? See: Java. (1)

what about (730877) | more than 4 years ago | (#31726072)

True, mod parent up

It must be a test to see the level of competence in the field :-)

Re:Not even close? See: Java. (1)

Jurily (900488) | more than 4 years ago | (#31726076)

Posted by kdawson

'Nuff said.

Re:Not even close? See: Java. (1)

Nerdfest (867930) | more than 4 years ago | (#31726084)

... except that Java runs just fine in 64 bit Linux on an AMD. Adobe Air ... no so much.

Flash and HTML5 make Java look efficient. (3, Insightful)

Anonymous Coward | more than 4 years ago | (#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.

Re:Flash and HTML5 make Java look efficient. (0)

Anonymous Coward | more than 4 years ago | (#31726270)

I don't know about you, but Flash and JavaScript + HTML 5 features can both have fairly quick development time. It is true they may not be as fast as Java (that depends on the browser and platform), but resurgent competition in the browser arena is making JS much quicker than it used to be. Now, JS is often JIT'd into native code, just like quite a few languages, without the slowish startup speed of the JRE. As browsers add hardware acceleration to HTML5 stuff, things will only get faster. Both the IE9 preview and Minefield support this in some way or another, and it makes a big difference on more complicated graphics related pages.

As far as Java goes, Java is not as massively slow as it used to be. It has gained a far amount of speed, and there are cases where it (along with other languages with runtimes) can meet or even exceed C or C++. Do not underestimate the power of being able to produce products faster. Developer time is money, and if your application doesn't need you to use every last bit efficiently to run decently, the overhead of Java (or C#, or Python, Ruby, etc.) makes little difference. If you had mentioned that Java GUIs can look unnatural, then maybe you would have a point.

Re:Not even close? See: Java. (0)

Anonymous Coward | more than 4 years ago | (#31726126)

More like guy writes to abstraction API. yaaaaaaaaaaaawn

There are a few of these out there. Let me pick a random one, believe it or not MFC is (or at least one point was) at cross platform (in specific conditions). I did this in the mid 90's write one code base recompile poof worked on a mac os 7. Think borland ported it over to OS2 at one point.

If you have to 'tweak' to a platform when using an API you have a 'leaky interface' API. There are many out there (even my MFC example did it in many cases). They work pretty good on whatever platform they were written on. Pull them out of that environment and suddenly you have to do many crazy things to make it work right.

Re:Not even close? See: Java. (1)

zach_the_lizard (1317619) | more than 4 years ago | (#31726196)

There's also JavaScript, which will run pretty much everywhere, and doesn't require installation of the application. Safari, Chrome, Opera, and Firefox all support it reasonably well enough to do some very neat things, even on the iPhone and Android devices (assuming they use a variant of the Chrome browser; I've never used one). What's more, at least one of the above will run on Mac OS, Linux, *BSD, Solaris, Windows XP and above, various mobile phones and embedded devices, etc. With Flash you can get similar amounts of users, though you will lose the iPhone and some other platforms.

Re:Not even close? See: Java. (1)

forkazoo (138186) | more than 4 years ago | (#31726276)

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

Off the top of my head... Java, Python, C using GLUT-OpenGL-OpenAL, C++ using Qt... There are tons of platforms that I've personally worked with where I had no problem supporting multiple platforms with GUI and audio while being able to maintain a single code base. Does this make me some sort of portability super-developer? Should I be doing speaking tours to brag about my amazing accomplishments?

No, I'm just some dumb fuck mediocre part-time programmer who has his head stuck slightly less far up his ass that the people who think AIR is interesting.

Re:Not even close? See: Java. (1)

BikeHelmet (1437881) | more than 4 years ago | (#31726446)

Ahh, but this is compile-once, right!? That makes it so much better! ...but Java already had this. Sure, you have to detect the platform and adjust accordingly - but it's been happening for a huge part of Java's existence.

In all honesty, you pulling it off in C/C++ makes you a "good" programmer, because your code doesn't actively make the codebase harder to maintain or port. If your code retains the possibility of targeting different architectures and devices, you're doing it right - at least for games.

)avascript (1)

ultrabot (200914) | more than 4 years ago | (#31725924)

How about plain old javascript? I heard it's pretty cross platform as well.

Qt libs (1)

TyFoN (12980) | more than 4 years ago | (#31725944)

So he used Qt libs? :)
Well it doesn't run on apple crap except for OS X, but it runs on just about every other phone.

I don't get it... (1)

Anonymous Cowar (1608865) | more than 4 years ago | (#31725948)

I don't get it...

If you have the right compiler (like gcc ported to every platform imaginable) and created something that would output plain text in c or c++, wouldn't the code be the same? I thought code base was dependent on the compiler and the more complex it got (in terms of graphics, guis, hardware calls, etc) the more likely it was that you began to hit platform differentiation.

Also, not sure what your definition of app, game and all that is, but zork running on the zmachines (may disqualify this argument right there) customized (and standardized [fonts, colors, window size]) for each platform runs identically on my phone as it does in a linux console as a mac console as in windows.

Re:I don't get it... (1)

sopssa (1498795) | more than 4 years ago | (#31726068)

What do you not get? It's not C and the code is interpreted in runtime. The runtime environment separates you from the OS and instead handles the OS specific things like drawing windows, user input and hardware calls itself.

Also if you're going to demonstrate multi-platform app/game in 2010, it most likely doesn't mean a console application.

Re:I don't get it... (1)

shutdown -p now (807394) | more than 4 years ago | (#31726342)

I had the impression that ActionScript uses JIT compiling lately. Furthermore, for iPhone, didn't they have to make it precompile things to avoid Apple restrictions on interpreters?

Same codebase... (5, Informative)

Zapotek (1032314) | more than 4 years ago | (#31725990)

holding different platform specific implementations: http://blogs.adobe.com/cantrell/images/ireverse/FB_projects.jpg [adobe.com]
That's doesn't seem all that impressive...

Re:Same codebase... (1)

binarylarry (1338699) | more than 4 years ago | (#31726130)

I believe whats happening is the Actionscript stuff is being compiled into various platform specific representations (like TFA states). Which is why you don't see source for each implemention in that Eclipse screenshot, only in the Flex project.

Adobe? (1)

nurb432 (527695) | more than 4 years ago | (#31725994)

Um, if its one of their toolkits ill pass. They don't have a great track record of secure or efficient code.

Besides, hasn't he ever heard of python or java ( or a host of other languages with a common runtime )

Marketing (4, Insightful)

g051051 (71145) | more than 4 years ago | (#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.

Re:Marketing (1)

sopssa (1498795) | more than 4 years ago | (#31726120)

But it's one codebase for the developer and that's what counts. Adobe takes care of the app working in every environment, you can just write your app once.

Re:Marketing (-1, Troll)

Anonymous Coward | more than 4 years ago | (#31726426)

so does java, C or any other compiled language with common libraries across platforms you dumb fucking mouth breathing retard.

Slow news day? (1)

loadrunner (254519) | more than 4 years ago | (#31726018)

Where is CmdrTaco when you need him?

Write once run everywhere is not exactly a new and groundbreaking concept. The Adobe AIR runtime has been out for over two years now. It includes both the Flash player and WebKit and all Adobe has done recently is to tweak their authoring tools to cover the iPhone and (presumably) the iPad.

This demo is quite obviously part of the orchestrated media push surrounding the pending CS5 release. The demo is hardly newsworthy in itself.

Only half the battle... (2, Interesting)

Manip (656104) | more than 4 years ago | (#31726030)

While interesting it has been done before and to be honest these "portable platforms" all suffer from the same flaw: the applications they produce aren't native to ANY platform. What I mean is that while they run fine in terms of functionality they all look ugly compared to the environment and don't support typical OS features like hotkeys.

Look at GTK+. The applications work fine on Windows and OS X but you can tell within a second that they aren't native applications, they're badly ported Linux applications.

Re:Only half the battle... (1)

gabebear (251933) | more than 4 years ago | (#31726472)

the applications they produce aren't native to ANY platform.

Yep, this would be a terrible way of making utility apps, but this is acceptable for some types of apps, like games, that usually have unique interfaces anyway.

iReverse (3, Funny)

AndGodSed (968378) | more than 4 years ago | (#31726052)

Wonder how long it will take Apple to sue because he dared use i as the first letter of his program name...

Re:iReverse (1)

Funnnny (1409625) | more than 4 years ago | (#31726214)

Fuck that, why does people have to use that fuck letter

Re:iReverse (1)

Funnnny (1409625) | more than 4 years ago | (#31726222)

Sorry to reply myself but I just didn't use any "i"

Re:iReverse (1)

Anonymous Cowar (1608865) | more than 4 years ago | (#31726316)

Apple has recently renamed it's legal department to iSue

Re:iReverse (1)

BikeHelmet (1437881) | more than 4 years ago | (#31726466)

Apple doesn't actually own trademarks on i[Everything], and they don't have a right to i[Everything]. Whatever they use first is theirs, but nothing more than that.

Hell, there's a VOIP software company called iCall. [icall.com] That's a name I'm sure they'd love to have snatched up.

Linux...not Ubuntu (0, Troll)

shinzawai (964083) | more than 4 years ago | (#31726094)

I read the article and it says Linux support. At no stage did the page specify flavour. kdawson, Ubuntu does not equate to all of Linux. (It does equate to Linux for the newbie sheep masses).

Re:Linux...not Ubuntu (1)

Voulnet (1630793) | more than 4 years ago | (#31726230)

Wow, you guys are now discriminating against other Lin-frakking-ux users? You guys have no friends...

Re:Linux...not Ubuntu (0)

Anonymous Coward | more than 4 years ago | (#31726374)

What can one say, some Linux users are like the Simpson's Comic Book Guy character. Once one Linux distribution is finally adopted by more than 100 people it's no longer credible, it's for sheep.

Re:Linux...not Ubuntu (1)

shinzawai (964083) | more than 4 years ago | (#31726394)

Actually, I have no friends nor sleep...hence I'm up at 4:30am typing an anti Ubuntu post. I'm just over the rabid pro-Ubuntu agenda.

They're all the same peoples!

Re:Linux...not Ubuntu (0)

Anonymous Coward | more than 4 years ago | (#31726320)

But we know AIR runs on lots of Linux flavors, not just ubuntu. There's no reason to think it won't run on other linuxen.

No other Platform? (1)

Cyberllama (113628) | more than 4 years ago | (#31726116)

What about HTML5? Of course, then you're more forced to be open-sourced, but still -- it achieves the multi-platform goal very easily.

Anyone else old enough to remember CP/M? (1)

DadLeopard (1290796) | more than 4 years ago | (#31726124)

This reminds me of both the benefits and shortcomings of CP/M! A CP/M program would run on multiple different machine and processors without modification, but it limited you to the lowest common denominator as far as utilizing the hardware of each different machine was concerned, This is like CP/M for different OSes instead of different processors, so you are limited to the lowest common denominator as far as special OS dependent features are concerned!

Layout stuff more significant than cross platform? (1)

Lemming Mark (849014) | more than 4 years ago | (#31726154)

Part of the cleverness here seems to be that the app is (somehow) doing dynamic changes of layout, not just scaling or flowing widgets into a given area, so that you end up with a GUI that looks reasonably sane on different screen sizes, aspect ratios and orientations. That's quite a nifty trick although I don't see any reason why it shouldn't be available in other cross-platform development environments - maybe it already is. Still, I had heard that Flash is good for UI stuff even though we all hate having to run it to access web content.

Re:Layout stuff more significant than cross platfo (1)

shutdown -p now (807394) | more than 4 years ago | (#31726400)

There is nothing innovative in dynamic layouts. They have been available in UI frameworks and widely used for years on Windows, and for decades on Unix.

Re:Layout stuff more significant than cross platfo (1)

Lemming Mark (849014) | more than 4 years ago | (#31726492)

How flexible is it in other environments, though? The AIR app pictured is reconfiguring the UI in various ways depending on orientation, moving UI elements from a side-by-side configuration to a vertical configuration depending on orientation, etc. Whether that's clever or not probably depends on how much work the developer had to put in - if differently structured interfaces were coded up manually then that's not so impressive.

If the runtime can reconfigure a set of declared elements in sensible ways, that would be quite cool. Although the app demonstrated is relatively uncomplicated in terms of UI, it'd be interesting to see how this applied to a more complicated example. I did get the impression, from the video, that it was the ability to run flexibly on different screen configurations that they were trying to promote, not so much the fact that the code could run on different devices.

I think the video mentioned open sourcing the code in the future, at which point we'll all be able to see exactly how convenient to program they have managed to make this...

It's called Java (J2ME)! Look it up! (1)

Hurricane78 (562437) | more than 4 years ago | (#31726164)

Seriously. Been there, done that.* Years ago.
All phones. Plus PCs (Linux,BSD,Mac,Windows,etc). Plus many PDAs. Plus settop devices. Plus a microwave. Plus some cars.
Without a single change in the code base. And for most of them not even a recompilation.

Java works as advertised... if you do it properly.

(Yes, of course compatibility goes out the window, as soon as you start depending on proprietary libraries which are only available for some phones. But if you want it to run everywhere: Don’t do that!! Simple. And if you really want the features, just do a check, and only load those parts, if the feature is actually available. Also simple.)

* Except for the iPhone of course, because it’s the only phone without Java, because Jobs is an arrogant totalitarian dick.

Re:It's called Java (J2ME)! Look it up! (1)

DLG (14172) | more than 4 years ago | (#31726328)

Funny. You call someone totalitarian because they choose to do something different than all the other phone makers. I would think requiring everyone to support Java would be totalitarian.

Maybe you don't really use the word properly. Maybe what you mean is, independent and competitive. Is that bad too?

For years Sun did nothing to get Java to work well on the Mac. Do you wonder that Apple doesn't really feel like relying on either them or Adobe to provide a user experience for their phones or tablets?

Re:It's called Java (J2ME)! Look it up! (1)

BikeHelmet (1437881) | more than 4 years ago | (#31726502)

Maybe you don't really use the word properly. Maybe what you mean is, independent and competitive. Is that bad too?

No no - their stance on Java is really messed up.

They've made promises, but never get around to porting/updating/creating up to date JRE's.

Older versions of OSX that were promised Java 1.6 are still on Java 1.5 or earlier.

For years Sun did nothing to get Java to work well on the Mac.

Back in the PPC days? Sun wanted to port it as soon as x86 was an option. They ported it to Linux - an arguably smaller marketshare - and they did a good job. If Apple had let them, we'd have a better Java situation on OSX than we do today.

I love coding in Java - it's fast enough that I usually don't have to go deeper. I don't have an iPhone, because I'm not too fond of Objective C. :P

Re:It's called Java (J2ME)! Look it up! (1)

shutdown -p now (807394) | more than 4 years ago | (#31726422)

Android doesn't do J2ME, either. Nor do most WinMo phones.

Yes, it can be added as an app - but you cannot rely on users having it installed.

Ring Ring (0)

Anonymous Coward | more than 4 years ago | (#31726174)

The 90s are calling.

Two points (4, Interesting)

Blakey Rat (99501) | more than 4 years ago | (#31726180)

First of all, Air is broken for GUI apps (on Windows and OS X at least.) It gets many, many basic details of how widgets are supposed to work completely wrong. And, shock and amazement, most of the wrongness is the exact same wrongness that Flash widgets have-- gee! You'd almost think it's just a crummy Flash runtime!

Secondly, RealBasic can target three platforms from a single codebase (Mac, Linux, Windows) and gets two of them completely right. (Linux may be right, but I don't know enough about it to really verify it.) So this is nothing new-- that capability has been in RealBasic for at least 4 years now.

I love these breathless excited summaries. The only real point to take from this is Christian Cantrell is completely ignorant of Flash's competitors in this space. (And kdawson loves hype, the hype-ier the better.)

Bollocks (2, Informative)

SpinyNorman (33776) | more than 4 years ago | (#31726204)

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

Qt will let you run a single code base on OS/X, Windows 7/etc, Linux and any platform that Qt/Embedded has been ported to. Not just trivial apps like Reversi, but also ones using multithreading, networking, etc. There's also a fair degree of cross-platform multimedia support too, although that's a work in progress. Personally I choose to use PortAudio for cross-platform audio aupport together with Qt.

You could do this in just a browser (0)

Anonymous Coward | more than 4 years ago | (#31726208)

This is something you could hack together and have run multiplatform with some javascript, css, a bit of html, and some images.

If you're trying to prove the usefulness of AIR for cross platform development, you might pick an example that's not already pretty easy to do without using AIR.

Not even close? Ha! (1)

Adrian Lopez (2615) | more than 4 years ago | (#31726234)

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.

Unity3D can produce binaries Windows, MacOS X, iPhone, iPod Touch, iPad and Wii. Upcoming version will also support Xbox 360, Playstation 3 and Android.

Re:Not even close? Ha! (1)

tepples (727027) | more than 4 years ago | (#31726396)

But then how do you actually run something on a Wii, Xbox 360, or PS3?

Re:Not even close? Ha! (1)

Adrian Lopez (2615) | more than 4 years ago | (#31726444)

But then how do you actually run something on a Wii, Xbox 360, or PS3?

You need to be a licensed developer. The point is that the same exact code and project layout may be used to produce binaries for all those platforms.

Re:Not even close? Ha! (1)

tepples (727027) | more than 4 years ago | (#31726506)

Say I develop a video game using Unity, but it's in a genre that's likely to appeal to console gamers more than to PC gamers. Even though PCs can be connected to an HDTV and four gamepads, most PC gamers just tend not to do that for some unknown reason. And as I understand it, I can't become a licensed console developer without a prior PC title. So for which platform do I market this game?

Re:Not even close? Ha! (1)

Adrian Lopez (2615) | more than 4 years ago | (#31726570)

If the game will only work well as a console title then don't develop it until after you've become a licensed console developer. Otherwise just make it a PC and Mac game and make a build for consoles if and when you become a licensed developer.

Mono/.Net or Java (0)

Anonymous Coward | more than 4 years ago | (#31726238)

Seriously it's not that hard to pull off, so long as you're willing to forego the native "lipstick" of each OS..

The mono with gtk# apps I've done work pretty flawlessly across systems.

Great news (1)

Orion Blastar (457579) | more than 4 years ago | (#31726246)

if it can work outside of a web browser. If not then I ought to stick with C++, Python, Java, and others as I want to make open source cross platform stand alone applications. Some people don't want to run their business code in a web browser for privacy reasons.

Um..RB anyone (0)

Anonymous Coward | more than 4 years ago | (#31726284)

www.realsoftware.com has been doing this for years and years.

Not news (0)

Anonymous Coward | more than 4 years ago | (#31726338)

Only incompetent developers write non-portable code, since the advent of good cross platform development libraries.
Qt can be used for nice portable GUIs, except on the horrible apple mobile platforms - but apple is the most proprietary/evil company ever, and their license is so deranged, that I can't see anyone with serious business interest investing any real effort. Android is also pretty nasty for cross platform GUIs, but who cares? it is never going to compete with good devices, with the current SLOOOOOOOOOOOOW java VM.

fuck adobe!! (0, Troll)

perryizgr8 (1370173) | more than 4 years ago | (#31726388)

i installed adobe rreader on my new system and it tried to push AIR alongwith it. Just that made AIR reepulsive enough for me to not install it. why can't you just use cpp? It will work on all linuxes withoutt much modification. And who gives a fuck about windows. And especially since AIR is horrendously inefficient.

Re:fuck adobe!! (1)

fluffy99 (870997) | more than 4 years ago | (#31726490)

why can't you just use cpp? It will work on all linuxes without much modification. And who gives a fuck about windows.

The approx 90% of computers that run Windows would care. Catering to an OS with only 1% of the market share like Linux is suicide. http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=8 [hitslink.com] http://www.statowl.com/operating_system_market_share_trend.php [statowl.com]

Same code base for multiple platforms eh? (1)

mrjb (547783) | more than 4 years ago | (#31726406)

More detail please. Looks like the guy is running Eclipse. Is his app written in Java? If so, no big deal; wasn't Java supposed to be write once, run anywhere?

If it's something compiled to native rather than to bytecode, it's still pretty mich the same story. My C++ open source app runs on Mac PPC, Mac Intel, Windows and Linux. I suppose I could consider that 4 platforms. They all share the same source code, but once compiled they are different binaries. Yes, there is some use of #ifdef in there. Thing is, my application is written in C++, a language which is supposed to be portable. So, I've actually used STL rather than MFC and cross-platform libraries for the fancier stuff such as GUI, audio etc. As a result, it actually is portable.

I guess my question is, exactly what is it that makes writing cross-platform applications in a cross-platform language newsworthy?

Hello world (1)

mwvdlee (775178) | more than 4 years ago | (#31726452)

"Hello world" works on pretty much every platform too.

C anyone? (1)

SpaghettiPattern (609814) | more than 4 years ago | (#31726478)

I have very vivid remembrances at compiling pretty complex C programs for various platforms and all using the same code base. Perl for instance.

Sure, the code base is infested with cpp macros and complex configuration mechanisms, making it something for the advanced programmer to grasp but this surely isn't something new. Also, not all libraries may be available on each platform. But I take most projects on a budget which are led by intelligent people, where human resource usage must be optimised will use a single code base.

It's when money creeps in that problems start. Suddenly some cretin is appointed as responsible for a specific platform -as opposed to have one group managing porting generally- and his targets will have "keeping single code base" as a last priority and that's where Babylon starts.

Sure, having a GUI toolkit performing identically or highly similar on multiple platforms is a challenge but single code base is the essence of any half decent project or product.

This is a joke. (1, Informative)

Anonymous Coward | more than 4 years ago | (#31726518)

Java has had this technology for eleven years, and as of today does it better than any other framework or virtual machine.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>