-
Analysis: Is the iPhone an Opportunity for Java Developers? (43 messages)
- Posted by: Eugene Ciurana
- Posted on: June 15 2007 09:33 EDT
The news this week was underwhelming for many developers: Apple will not open the iPhone to third-party development. Speculation about future toolkits or opportunities flared, but for the forseeable future the only way to extend the iPhone's functionality is in the form of web applications. Could this be a boon for Java developers? Steve Jobs has said that application security and device stability are the reasons why the iPhone is closed. That may only be part of the truth. US mobile carriers are notorious for not wanting to allow open development in their platforms. Most mobile phones are sold to the public with a heavy subsidy from the carrier, who in turn gets paid for the device over time through the service contract. Though this doesn't appear to be the case with iPhone, other mobile devices will continue to be sold in this manner. Mobile carriers also like to gouge consumers with services at ten times the price per unit than equivalent services on the Internet, and they can get away with it thanks to lack of competition within their walled gardens. J2ME implementations are crippled because neither the carriers nor a number of device manufacturers want to open the device capabilities to cross-platform development. Apple has historically preferred closed-platform development more often than open. Except for the Apple II family of computers, almost every device that the company produced has been as proprietary as they come. Except for the iPhone, however, Apple always provided a SDK for them. It's possible that business considerations (Patents? Existing agreements?) prevented Apple from releasing the iPhone without being tied to a carrier. Thus, the iPhone is closed to third-party development by a double whammy of carrier demands and Apple policy. Companies who developed, or tried to develop, products and services for the US mobile market know that there is no way to play in this area without support from both the carriers and the device manufacturers. These agreements are fraught with restrictions about what the applications can and cannot do, and how many of a device's capabilities will be accessible to the third-party development. Why do you think there are no combination wifi and cellular devices in the US market? It's not because RIM or Palm don't know how to make them. Anyone familiar with this process could have predicted that, since the iPhone is tied to a mobile carrier, equal or even stronger restrictions would be in place. The iPhone runs a full version of OS X. That makes it the most powerful mobile device in the US market. If the carrier allowed third-party development on it, it could open the floodgate to applications that can get around price-gouging policies and business models. The iPhone developer community would like third party tools to be available, maybe Apple as well, but it's likely that contractual obligations with AT&T prevent Apple from opening up the device. The iPhone, running OS X, would be ideal for a Java. Not J2ME, but perhaps even a full JRE. There would be no J2ME limitations on the iPhone. This wouldn't play well with the carriers' business model, a more likely reason why Java isn't on the device. And so the iPhone will launch closed to third-party application development on the device. That may be good news. The iPhone will come with a full-featured version of the Safari web browser. Information leaked by AT&T sales reps to the 'net indicates that the service plans will include a pricey compulsory data plan over the carrier's network (a move that discourages use of the iPhone's wifi capability). This is also good news because it guarantees that all iPhones "in the wild" will be connected to the Internet in one form or another. Since Apple's current policy is one of Web 2.0 development for the device, that's where the opportunity lies for Java developers. Most Java end-user development takes the form of web applications. That's what the Java community is really good at. Web applications and frameworks are the engine of Java evolution. Most mission-critical and scalable websites run on Java, and most serious Web 2.0 frameworks are implemented in Java. iPhone-specific web applications with a matching look-n-feel, written to match the device's screen specs and capabilities (CSS, xhtml, etc.), that store data in a combination of cookies and server-side sessions, and customized to leverage Safari's strengths, are a golden opportunity for the Java community to play in the mobile industry in general, and in the iPhone in particular. This could drag the iPhone and the rest of the handset manufacturers and carriers toward incorporating full-featured browsers in the devices, and later to open their development models and to stop crippling their devices on purpose so that they can gain a competitive advantage. Will the first killer app for the iPhone be powered by Java? It would be ironic to contradict Steve Jobs' assertion that "Java is not worth building in." What do you think? Eugene Ciurana is the director of systems infrastructure at LeapFrog Enterprises and is a contributing editor to TheServerSide. He's led the development and roll-out of mobile applications in coordination with the largest US carriers. He can be reached on the Freenode IRC network (##java, #awk, #theserverside, #esb) under the /nick pr3d4t0r.Threaded Messages (43)
- Re: Analysis: Is the iPhone an Opportunity for Java Developers? by Justin Lee on June 15 2007 11:00 EDT
- Re: isMobileSide.com by Naveen Gayar on June 18 2007 02:22 EDT
- Well some of the first will be by Jason Essington on June 15 2007 11:10 EDT
- iPhone and the lack of SDK by Andrew Lombardi on June 15 2007 11:16 EDT
- Re: Analysis: Is the iPhone an Opportunity for Java Developers? by Fabrizio Giudici on June 15 2007 11:45 EDT
- Re: Analysis: Is the iPhone an Opportunity for Java Developers? by Eugene Ciurana on June 15 2007 11:59 EDT
- Re: Analysis: Is the iPhone an Opportunity for Java Developers? by Fabrizio Giudici on June 15 2007 12:26 EDT
-
Re: Analysis: Is the iPhone an Opportunity for Java Developers? by Cedric Beust on June 15 2007 10:37 EDT
- Re: Analysis: Is the iPhone an Opportunity for Java Developers? by Eugene Ciurana on June 15 2007 10:52 EDT
-
no java on frontend? by Marc Logemann on June 18 2007 10:52 EDT
-
Re: no java on frontend? by Mark N on June 18 2007 05:37 EDT
-
Re: no java on frontend? by Rex Guildo on June 19 2007 03:09 EDT
- Re: no java on frontend? by Mark N on June 19 2007 10:14 EDT
-
Re: no java on frontend? by Rex Guildo on June 19 2007 03:09 EDT
-
Re: no java on frontend? by Mark N on June 18 2007 05:37 EDT
- Re: Analysis: Is the iPhone an Opportunity for Java Developers? by Eugene Ciurana on June 15 2007 11:59 EDT
- proprietary ??? by Remco Greve on June 15 2007 11:50 EDT
- Java on the iPhone: No Thanks! by Bruce Fancher on June 15 2007 12:12 EDT
- Re: Java on the iPhone: No Thanks! by Fabrizio Giudici on June 15 2007 12:36 EDT
-
Re: Java on the iPhone: No Thanks! by Will Hartung on June 15 2007 01:24 EDT
-
Re: Java on the iPhone: No Thanks! by Christopher Gores on June 15 2007 02:08 EDT
- Re: Java on the iPhone: No Thanks! by MIKE JASNOWSKI on June 15 2007 02:19 EDT
- Re: Java on the iPhone: No Thanks! by Frank Bank on June 15 2007 02:24 EDT
-
Re: Java on the iPhone: No Thanks! by Christopher Gores on June 15 2007 02:42 EDT
- Re: Java on the iPhone: No Thanks! by Christopher Gores on June 15 2007 02:58 EDT
- Re: Java on the iPhone by Fabrizio Giudici on June 15 2007 03:08 EDT
-
Re: Java on the iPhone: No Thanks! by Will Hartung on June 15 2007 02:55 EDT
-
Re: Java on the iPhone: No Thanks! by Frank Bank on June 15 2007 03:16 EDT
- Re: Java on the iPhone: No Thanks! by Will Hartung on June 15 2007 05:30 EDT
-
Re: Java on the iPhone: No Thanks! by Frank Bank on June 15 2007 03:16 EDT
- vs. by Tor Iver Wilhelmsen on June 18 2007 03:23 EDT
- Re: Java on the iPhone: No Thanks! by Bruce Fancher on June 15 2007 02:32 EDT
-
Re: Java on the iPhone: No Thanks! by Christopher Gores on June 15 2007 02:08 EDT
-
Re: Java on the iPhone: No Thanks! by Will Hartung on June 15 2007 01:24 EDT
- Re: Java on the iPhone: No Thanks! by Paul Beckford on June 15 2007 13:57 EDT
-
--- by Fabrizio Giudici on June 15 2007 02:26 EDT
-
Re: --- by Bruce Fancher on June 15 2007 02:38 EDT
- Re: --- by Frank Bank on June 15 2007 02:46 EDT
- Maybe so by neunet n on June 18 2007 11:56 EDT
-
Re: --- by Bruce Fancher on June 15 2007 02:38 EDT
-
--- by Fabrizio Giudici on June 15 2007 02:26 EDT
- Re: Java on the iPhone: No Thanks! by Paul Beckford on June 15 2007 16:21 EDT
- Re: Java on the iPhone: No Thanks! by Cedric Beust on June 16 2007 20:02 EDT
-
Re: Java on the iPhone: No Thanks! by Paul Beckford on June 18 2007 12:29 EDT
-
The Vikings are comming!!! by Rex Guildo on June 19 2007 12:00 EDT
-
Re: The Vikings are comming!!! by Paul Beckford on June 19 2007 01:19 EDT
- Re: The Vikings are comming!!! by Rex Guildo on June 19 2007 01:38 EDT
-
Re: The Vikings are comming!!! by Paul Beckford on June 19 2007 01:19 EDT
-
The Vikings are comming!!! by Rex Guildo on June 19 2007 12:00 EDT
-
Re: Java on the iPhone: No Thanks! by Paul Beckford on June 18 2007 12:29 EDT
- Re: Java on the iPhone: No Thanks! by Fabrizio Giudici on June 15 2007 12:36 EDT
- The most successful java application is a j2me application! by Rex Guildo on June 16 2007 05:04 EDT
- Java on the clients side? Objective C by Victor C. on June 16 2007 08:08 EDT
- iPhone is out of date for the non-US market by John Davies on June 17 2007 13:42 EDT
- Apple iPhone by alex john on August 04 2010 09:32 EDT
-
Re: Analysis: Is the iPhone an Opportunity for Java Developers?[ Go to top ]
- Posted by: Justin Lee
- Posted on: June 15 2007 11:00 EDT
- in response to Eugene Ciurana
I think it's a great question for themobileside.com... :) -
Re: isMobileSide.com[ Go to top ]
- Posted by: Naveen Gayar
- Posted on: June 18 2007 02:22 EDT
- in response to Justin Lee
Not a bad Idea. -
Well some of the first will be[ Go to top ]
- Posted by: Jason Essington
- Posted on: June 15 2007 11:10 EDT
- in response to Eugene Ciurana
Since you can already build very nice AJAX apps in Java then compile them with GWT, it is a pretty good possibility that many of the first applications for the iPhone will be written in Java. There is already a project to add any iPhone specific functionality to GWT (if those specifics are ever announced). -jason -
iPhone and the lack of SDK[ Go to top ]
- Posted by: Andrew Lombardi
- Posted on: June 15 2007 11:16 EDT
- in response to Eugene Ciurana
I've seen a lot of talk from developers who were upset with the lack of an SDK, this commentary seems to speak of a possible different avenue which looks promising. Let us not forget what Apple has a tendency to do in the marketplace, and what they did with iTunes and the iPod. At first glance it looks like they are cowing to the demands of an old stalwart like AT&T. It looks to me like they've just cracked the door open, told the old guard that leaving this side door open won't give them any problems, but they're ready to change the mobile landscape. I think we will see an SDK at some point in the near future, probably close to the time when Apple decides to forgo the idiocy of putting EDGE in their capable phone, in favor of the much faster 3G. An exciting time indeed, I won't be in line on June 29th for the iPhone, but I hope it does much better than expected, not because this first round is any better than other phones out there, but because Apple does tend to change a market it enters... usually for the better. -
Re: Analysis: Is the iPhone an Opportunity for Java Developers?[ Go to top ]
- Posted by: Fabrizio Giudici
- Posted on: June 15 2007 11:45 EDT
- in response to Eugene Ciurana
"The iPhone runs a full version of OS X" AFAIK this is not true. Apple calls it "stripped down Mac OS X" (in the original slides of Steve Jobs when the iPhone was first presented), and for what I trust Apple marketing it could be a dramatically different thing that they just call Mac OS X. Said this, as a Java developer I don't care about what o.s. is running on the thing, as soon as there's a JVM inside. I agree that the iPhone looks big enough to potentially run a full JDK; but since Apple won't put Java on it, I don't understand which is the meaning of asking if the iPhone is an opportunity for Java developers. :-O Sounds as I should ask myself what I would do if my bank account was 100x bigger... -
Re: Analysis: Is the iPhone an Opportunity for Java Developers?[ Go to top ]
- Posted by: Eugene Ciurana
- Posted on: June 15 2007 11:59 EDT
- in response to Fabrizio Giudici
"The iPhone runs a full version of OS X"
Good correction -- thanks! I meant "full version of UNIX" and got sidetracked. Still, your correction is more accurate than what I was thinking. The gist of that was that the iPhone sounds like it has the best OS in a mobile device... until Palm releases its Linux-based vaporware OS.
AFAIK this is not true.I don't understand which is the meaning of asking if the iPhone is an opportunity for Java developers.
Because the only way to provide apps to the iPhone is through web apps... the one thing that Java programming is most applied to. Cheers, E -
Re: Analysis: Is the iPhone an Opportunity for Java Developers?[ Go to top ]
- Posted by: Fabrizio Giudici
- Posted on: June 15 2007 12:26 EDT
- in response to Eugene Ciurana
... until Palm releases its Linux-based vaporware OS.
Ok, from this point of view I agree with you. But then we should clearly separate the perspective of J2EE-like developers from the one of J2ME developers. I mean, there's no point in discussing about J2ME + iPhone, if not in prayers... :-((I just read that Palm is going to lay off some developers... My hopes for that Linux-based OS are almost zero :-((
Because the only way to provide apps to the iPhone is through web apps... the one thing that Java programming is most applied -
Re: Analysis: Is the iPhone an Opportunity for Java Developers?[ Go to top ]
- Posted by: Cedric Beust
- Posted on: June 15 2007 22:37 EDT
- in response to Eugene Ciurana
... on the server. As far as I know, Java is never used on the front-end, which is the only place where the iPhone lets you develop apps, so I'm still confused about the subject of this thread... Time to brush up on these DHTML skills. -- CedricI don't understand which is the meaning of asking if the iPhone is an opportunity for Java developers.
Because the only way to provide apps to the iPhone is through web apps... the one thing that Java programming is most applied to -
Re: Analysis: Is the iPhone an Opportunity for Java Developers?[ Go to top ]
- Posted by: Eugene Ciurana
- Posted on: June 15 2007 22:52 EDT
- in response to Cedric Beust
You're splitting hairs. Server-side applications, written in Java, have front-end, middle-, and back-end components, and you can use Java in all tiers. If we're going to split hairs even further, GWT can also be considered "Java" from a language point of view, and that code goes straight to the browser. But you know that... Sushi? EI don't understand which is the meaning of asking if the iPhone is an opportunity for Java developers.
Because the only way to provide apps to the iPhone is through web apps... the one thing that Java programming is most applied to
... on the server.
As far as I know, Java is never used on the front-end, which is the only place where the iPhone lets you develop apps, so I'm still confused about the subject of this thread...
Time to brush up on these DHTML skills.
--
Cedric -
no java on frontend?[ Go to top ]
- Posted by: Marc Logemann
- Posted on: June 18 2007 10:52 EDT
- in response to Cedric Beust
Java is never used on the frontend? My complete development tooling is java based: IDEA, SmartSVN, DbVisualizer, JProfiler, ... want some more? Or do i get you wrong here? Marc http://www.logemann.orgI don't understand which is the meaning of asking if the iPhone is an opportunity for Java developers.
Because the only way to provide apps to the iPhone is through web apps... the one thing that Java programming is most applied to
... on the server.
As far as I know, Java is never used on the front-end
--
Cedric -
Re: no java on frontend?[ Go to top ]
- Posted by: Mark N
- Posted on: June 18 2007 17:37 EDT
- in response to Marc Logemann
Not to speak for Cedric but I think he meant in webapps.I don't understand which is the meaning of asking if the iPhone is an opportunity for Java developers.
Because the only way to provide apps to the iPhone is through web apps... the one thing that Java programming is most applied to
... on the server.
As far as I know, Java is never used on the front-end
--
Cedric
Java is never used on the frontend? My complete development tooling is java based: IDEA, SmartSVN, DbVisualizer, JProfiler, ... want some more?
Or do i get you wrong here?
Marc
http://www.logemann.org -
Re: no java on frontend?[ Go to top ]
- Posted by: Rex Guildo
- Posted on: June 19 2007 03:09 EDT
- in response to Mark N
Not to speak for Cedric but I think he meant in webapps.
Not to speak for Cedric, but I think he meant applications Paris Hilton would use. It's a pity, she doesn't know IntelliJ! -
Re: no java on frontend?[ Go to top ]
- Posted by: Mark N
- Posted on: June 19 2007 10:14 EDT
- in response to Rex Guildo
lol! I don't think she has any experience with anything that starts with intelli...Not to speak for Cedric but I think he meant in webapps.
Not to speak for Cedric, but I think he meant applications Paris Hilton would use. It's a pity, she doesn't know IntelliJ! -
proprietary ???[ Go to top ]
- Posted by: Remco Greve
- Posted on: June 15 2007 11:50 EDT
- in response to Eugene Ciurana
"Apple has historically preferred closed-platform development more often than open. Except for the Apple II family of computers, almost every device that the company produced has been as proprietary as they come. " What a strange thing to say. the powepc platform was developed with other companies like I.B.M and motorola as was the open-firmware of the powerpc macs. the apple operating system darwin is open-source as are al many other important components of os-x. -
Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Bruce Fancher
- Posted on: June 15 2007 12:12 EDT
- in response to Eugene Ciurana
What do you mean Apple prefers closed platforms? Not only is the foundation of Apple's operating system ("darwin") open-sourced, but anyone can go to Apple's developer site and download a complete SDK, including several dozen excellent developer tools. This week over 5,000 developers attended WWDC, where over 1,000 Apple engineers were on hand to give presentations, answer questions, etc. The company also publishes a very complete set of documentation, articles, example code, etc. The June 2007 Developer Documentation download bundle is 1 gigabyte. I'd say that's a pretty clear sign that the company is putting significant resources into getting as much information and assistance to developers as possible. With regards to your speculation that the carrier is dictating terms to Apple with regards to what SDKs, etc. will be available on the iPhone, while I have no non-public information about it, from reading the business press, this doesn't seem likely. From today's Wall St. Journal: AT&T Inc. stands a good chance of stealing customers away from other wireless operators by carrying Apple Inc.'s highly-anticipated iPhone, two new consumer surveys show. . . . AT&T struck an unorthodox partnership with Apple to unveil the device -- one that is now the envy of other handset manufacturers. It agreed to give up things it would normally insist on, like having its brand name on the handset. If the iPhone helps the company steal away customers from other operators, the deal could pay off handsomely. . . . etc. If Apple is going to increase the options for iPhone development in the future, I don't think that Java is the way to go. Besides the fact that Apple's native Objective-C/Cocoa development environment and frameworks are far superior for developing applications with the kinds of rich user interfaces that users will expect on the iPhone, user interface development on Java is garbage. If you want to know why this is, read Paul Kim's blog about his experience at Sun a decade or so ago when Swing was being developed: http://www.noodlesoft.com/blog/category/java/. In a nutshell, Sun had not one, but two, complete, working implementations of user interface frameworks that were based on Apple's Cocoa. Instead of simply cleaning up, documenting and releasing one of them, they very foolishly decided to start from scratch and write their own framework (Swing). Unfortunately, judging from the results, the people who designed and implemented Swing obviously didn't know what the hell they were doing, and ten years later Java still doesn't have a decent framework for building user interfaces. This is especially ironic given that the current CEO of Sun is Jonathan Schwartz, who joined the company when it acquired Lighthouse, the developer one of the two aforementioned frameworks. -
Re: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Fabrizio Giudici
- Posted on: June 15 2007 12:36 EDT
- in response to Bruce Fancher
Besides the fact that Apple's native Objective-C/Cocoa development environment and frameworks are far superior for developing applications with the kinds of rich user interfaces that users will expect on the iPhone, user interface development on Java is garbage.
Oh my God. Is it possible, please, to give some argument behind these statements? And is it possible to avoid that these arguments are dated TEN YEARS back? My point is: ObjC/Cocoa is known by a tiny percentage of people and all the others don't want to learn them. Just not to say that Cocoa is only for Mac OS X and closed source (Eugene maybe exaggerated in saying that the Apple II was the only open device from Apple, but he's true in saying that Apple's policy is to keep everything under its strict control). Yes, Java today still doesn't deliver all the bells and whistles of Cocoa and its related techs, but together with stuff such as Swing, NetBeans RCP, Eclipse RCP, it's an excellent technology for writing cross-platform GUIs. Also because outside Mac users (BTW, I'm one of them) people perfectly lives with a bit less of bells and whistles and a bit more of substance. -
Re: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Will Hartung
- Posted on: June 15 2007 13:24 EDT
- in response to Fabrizio Giudici
On the topic of a Java development opportunity, I don't see anything compelling in the iPhone. Despite its "coolness", it's not a spectacular enabler over and above other web connected phones. So, the only way the iPhone would provide a server side Java opportunity is if somehow the iPhone is going suddenly make a whole new class of applications possible that weren't before. And I don't see that happening. I see a lot of derivative services, perhaps. Maybe some iPhone specific widgets contacting some in place web services, or if not, soon to be generic web services extending whatever platform they they want to make more pretty for the iPhone. As for the Swing v. Cocoa debate... Point 1: Just because Java is more popular doesn't mean that Cocoa isn't better (I'm not saying whether it is or isn't, but userbase != quality). But, Point 2, as "bad" as Swing may be, and as popular as Java is, we have seen one alternative, SWT, and it is arguably worse than Swing. Beyond the JNI hooks that Apple did (and have now deprecated) from Java to Cocoa, I have never seen even an inkling of a JavsStep GUI framework. AWT provides the core event layer from the host to the JVM, and today Java2D is more than capable of rendering most anything you would want (the Gray Rectangle problem solved in the recent JDKs was a Swing problem, not a Java2D problem), so all of the tools are there (and have been there) for someone who wanted to create a better, pure Java GUI framework. Now I could have easily missed some announcement on some lone blog about such a framework, but I don't recall any potential contenders or projects for a Pure Java GUI framework beyond Swing. Meanwhile, Linux has several distinct frameworks of its own. Many of these have been ported to Windows or the Mac. Even the rudimentary core of a GUI framework does not take year and years to come about. Widgets, skins, etc. take more time, but someone with experience (e.g. the Lighthouse guys) could get the core out in a couple of months I bet and post it as a project somewhere. But, no, the burden is entirely on Sun for this. Ok. -
Re: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Christopher Gores
- Posted on: June 15 2007 14:08 EDT
- in response to Will Hartung
Despite its "coolness", it's not a spectacular enabler over and above other web connected phones.
Actually, iPhone DOES support a whole new class of webapps, and it explains why Safari is suddenly available on Windows for developers: the Safari engine's custom tag. The tag is a
So, the only way the iPhone would provide a server side Java opportunity is if somehow the iPhone is going suddenly make a whole new class of applications possible that weren't before.that provides the equivalent of a Graphics2d drawing object that allows you to dynamically draw anything on the screen you like, such as barcharts (see the Stock widget demo)... or even games! All the OSX dashboard widgets are just javascript, html, and css in a bundle. That will be coming, I'm sure. Also, I bet Mac users can use Dashcode for an IDE, sans the widget packaging. Windows users just have Safari. Also, the javascript engine in the OSX widget world provides a Widget object that is a facade object for some native calls, such as triggering the animation to flip the widget over to the config side. I'm sure they'll expose some custom objects in the iPhone in the future with hooks to the native apps like address book, mail, and phone features.Re: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: MIKE JASNOWSKI
- Posted on: June 15 2007 14:19 EDT
- in response to Christopher Gores
Despite its "coolness", it's not a spectacular enabler over and above other web connected phones.
So, the only way the iPhone would provide a server side Java opportunity is if somehow the iPhone is going suddenly make a whole new class of applications possible that weren't before.
Actually, iPhone DOES support a whole new class of webapps, and it explains why Safari is suddenly available on Windows for developers: the Safari engine's custom tag.
The tag is athat provides the equivalent of a Graphics2d drawing object that allows you to dynamically draw anything on the screen you like, such as barcharts (see the Stock widget demo)... or even games! All the OSX dashboard widgets are just javascript, html, and css in a bundle. That will be coming, I'm sure. Also, I bet Mac users can use Dashcode for an IDE, sans the widget packaging. Windows users just have Safari.
Also, the javascript engine in the OSX widget world provides a Widget object that is a facade object for some native calls, such as triggering the animation to flip the widget over to the config side. I'm sure they'll expose some custom objects in the iPhone in the future with hooks to the native apps like address book, mail, and phone features. This is really nice for lighter weight / advanced graphics options, though I wonder what under the covers it's creating (svg ? vml? , something else?) I've been looking at what DOJO does for similar features in IE, FFX, it uses a combination of VML, SVG depending on the browser, but the API hides that.Re: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Frank Bank
- Posted on: June 15 2007 14:24 EDT
- in response to Christopher Gores
Actually, iPhone DOES support a whole new class of webapps, and it explains why Safari is suddenly available on Windows for developers: the Safari engine's custom tag. The tag is a
that provides the equivalent of a Graphics2d drawing object that allows you to dynamically draw anything on the screen you like, such as barcharts (see the Stock widget demo)... or even games! All the OSX dashboard widgets are just javascript, html, and css in a bundle. That will be coming, I'm sure. Also, I bet Mac users can use Dashcode for an IDE, sans the widget packaging. Windows users just have Safari. Also, the javascript engine in the OSX widget world provides a Widget object that is a facade object for some native calls, such as triggering the animation to flip the widget over to the config side. I'm sure they'll expose some custom objects in the iPhone in the future with hooks to the native apps like address book, mail, and phone features. Now that is something interesting, beyond our average, lowest-common-denominator web 2.0. A GWT extension supporting the tag would be quite interesting.Re: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Christopher Gores
- Posted on: June 15 2007 14:42 EDT
- in response to Christopher Gores
By the way, Firefox copied support for the tag as well, though the drawing behavior is slightly different (calling stroke() clears the path). But IE doesn't support it at all.Re: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Christopher Gores
- Posted on: June 15 2007 14:58 EDT
- in response to Christopher Gores
Check out this all-javascript 3d POV demo in FireFox or Safari. Safari is much faster w/textures. The distance lighting is impressive for a javascript demo! http://www.abrahamjoffe.com.au/ben/canvascape/Re: Java on the iPhone[ Go to top ]
- Posted by: Fabrizio Giudici
- Posted on: June 15 2007 15:08 EDT
- in response to Christopher Gores
"It's just much slower and more difficult than with Objective-C and Cocoa." Again, subjective point. I'm quite fast and productive with Java (I won't repeat any longer that this gives me all the platforms as a target, not only Mac OS X). "And given that these technologies are native to the iPhone, it makes much more sense to leverage them, than to introduce something entirely different like Java." This is a good point in Apple's perspective. I'm not complaining because Apple doesn't deliver J2ME on the iPhone (I think it would be better if Sun took care even of J2SE on Mac OS X...). I'm complaining because Apple prevents third parties from doing this (Sun recently released open source J2ME environments, if they had an iPhone SDK they would surely port on it). "If you're already a Java programmer, and you can't learn Objective-C in a few days, then you should really consider a new line of work." Frank has pointed it out again, what about ROI? I didn't say I can't, I just don't see why I should do. There's much better ROI in learning one of the other bazillions Java server technologies, that would make me earn money a few days after. "Why is Flex/Flash ruled out from the iPhone?" Ask Apple: http://www.macrumors.com/2007/06/12/no-flash-support-on-the-iphone/ "Flash runs in Safari on MacOS X so why couldn't it be made available on the iPhone at some point in the future? " Ah no, please not again. I don't want discuss what Apple could do in future (for the record, Java runs in Safari on Mac OS X, so they could make it available as well) basing on our wish-list, considering that as usual Apple won't disclose anything about their roadmap; sorry, I want to put my professional future on more solid basis. :-)Re: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Will Hartung
- Posted on: June 15 2007 14:55 EDT
- in response to Christopher Gores
Actually, iPhone DOES support a whole new class of webapps, and it explains why Safari is suddenly available on Windows for developers: the Safari engine's custom tag.
The canvas tag has been in Firefox since 1.5. I have, in fact, been playing with it recently. There's also a Google script that brings the canvas tag to IE (tho I have not tried it). Now, I don't flit about in the FF community (nor the Safari community), and clearly that whatever wonderfulness a canvas tag brings is stymied by lack of support within IE. Otherwise, we'd have seen some uptick in the wonders of the canvas tag. (Much like the uptick on Ajax when XMLHttpRequest was "discovered"). Now, frankly, the canvas tag is conceptually the beginnings of the "last mile" that separates what a "thick client" can do vs the web app client. Previously, you had to do your rendering on the server and dump a gif. Not spectacularly interactive. Some applications actually use JS and DIV tags to plot pixels on the screen. I look at the Yahoo Tubes project and I'm just dumbfounded on how they're doing that. They pull it off, but boy is it sexy. I imagine it's a select set of icons that they're rendering as absolute div/image tags. No matter. But to be fair, the idea of create 100 1 pixel, absolutely position DIV tags just rubs my fur the wrong way. It's just Not Right. The canvas tag, however, gives us a mini Java 2D in the brower. Compositing, translations, etc. (dunno about clipping) So, barring performance [an underlying concern], the canvas tag is more than capable of being used to create charts or drawing programs or whatever. If MacDraw could run on a 8Mhz 68000 based machine with 512MB of RAM, I daresay modern machines running Javascript are more than capable of handling a MacDraw program that runs in a canvas tag, written in JavaScript. However, despite its power, so far, I haven't seen anything come to the public consciousness using the tag. Folks punt and use Flash instead (as it is ubiquitous). So, while it will be default installed on the iPhone, and will certainly add to the pizazz factor (especially if they expose Core Animation to the widgets through the tag), I don't really see it as an application enabler. The power of the iPhone is the ability for users to carry state with them and interact with network services at their leisure. A combination of handiness, local storage (there has to be some mechanism to store data locally on the phone), and network connectivity. Now, of course, this can be said of many handhelds and smartphones. The iPhone is just sexier. The appeal of the iPhone is the integration of the applications and Apples typically attention to detail to have things "just work", and be reasonably obvious and discoverable. But, as cool as it is, as much as it makes the actual experience of using these legacy applications better, the applications themselves are pretty much the same.Re: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Frank Bank
- Posted on: June 15 2007 15:16 EDT
- in response to Will Hartung
The canvas tag has been in Firefox since 1.5. I have, in fact, been playing with it recently. There's also a Google script that brings the canvas tag to IE (tho I have not tried it).
How does that work?Now, frankly, the canvas tag is conceptually the beginnings of the "last mile" that separates what a "thick client" can do vs the web app client. Previously, you had to do your rendering on the server and dump a gif. Not spectacularly interactive. Some applications actually use JS and DIV tags to plot pixels on the screen. I look at the Yahoo Tubes project and I'm just dumbfounded on how they're doing that. They pull it off, but boy is it sexy. I imagine it's a select set of icons that they're rendering as absolute div/image tags. No matter. But to be fair, the idea of create 100 1 pixel, absolutely position DIV tags just rubs my fur the wrong way. It's just Not Right.
Exactly, it's so hackish and suboptimal. It's great if someone else can wrap it up in a toolkit for others to use, but boy I shouldn't want to be doing it.However, despite its power, so far, I haven't seen anything come to the public consciousness using the tag. Folks punt and use Flash instead (as it is ubiquitous).
Ubiquitous, and with a real VM behind it these days, along with years of hand optimized drawing routines. The only real solution I see is for Microsoft to implement , and I don't see that happening unless they think that Silverlight is that much more compelling. Personally for apps, I'd rather have a real VM powering things (Flash, Silverlight, Java), but most people want to just deal with the stock browser.Re: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Will Hartung
- Posted on: June 15 2007 17:30 EDT
- in response to Frank Bank
How does that work?
For my crappy little toy bits, it actually works quite well. Essentially how it works is that you plop a canvas tag in to your document, then look it up using JS, and from there you get a 2D drawcontext. After that it's much like PostScript or Java2D. moveTo, lineTo, etc. followed by a stroke call to actually do the rendering. My little play around stuff was quite simple. I was dragging some bits around the screen with the mouse, very simple animation. But the beauty of it was that you're up to speed on it and playing around in a heartbeat. It was more my unfamiliarity with Javascript slowing me down than anything else. I mean, you have "test.html" that's 99% Javascript in an editor in one window, and Firefox in the other with the Javascript console to catch the glaring bugs. Then you Save, Alt-Tav, and Refresh your way to glory.The only real solution I see is for Microsoft to implement , and I don't see that happening unless they think that Silverlight is that much more compelling.
Well, that's the rub. The beauty of the canvas tag is simply that it exists and seems stable across 2 of the browsers. If you look at http://www.abrahamjoffe.com.au/ben/canvascape/ that was mentioned before, you'll find that it works on Safari, Firefox and IE. It uses the Google canvas.js which acts as a layer over the native IE VML tag (which it has had for sometime, but, again, was never popular in the wild). Also, we've had SVG for some time, but adoption was weak and spotty. Now, like XMLHttpRequest, a "non-standard" artifact available originally as a vendor extension is now a viable medium for SOME graphics tasks (it clearly seems to struggle as a 3D game engine...), where the "standards" based SVG seems to have been tossed by the wayside to die on the vine. But if you want to do something like an interactive chart, or an 'ajaxy' client driven chart, the canvas tag looks like it'll foot the bill, and appears to be somewhat portable (there are no doubt limits to the portability). If you abuse the concept to its ultimate ends, having a suitably performant rasterizing component available, then all of a sudden you can make "new" controls, etc, etc. Anything that was too difficult to do with DIV tags and HTML can now be possible. You're only limited by performance, and that's just getting better and better over time as the machines improve and the implementations improve. The kicker is there was a time when "Java was too slow", yet we've persevered and the JVM suppliers have provided us with better and better implementations. So, like the endless cycle of life, we're back to that point with the browser platform. Plopped smack in the middle of 1990, and doing it allll over again.
Personally for apps, I'd rather have a real VM powering things (Flash, Silverlight, Java), but most people want to just deal with the stock browser.vs. [ Go to top ]
- Posted by: Tor Iver Wilhelmsen
- Posted on: June 18 2007 03:23 EDT
- in response to Christopher Gores
Is there a reason they reinvented the wheel? Would it not have been better to support direct rendering of standard Scalable Vector Graphics and have a library output that? For instance a very specialized Graphics2D implementation in Java?Re: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Bruce Fancher
- Posted on: June 15 2007 14:32 EDT
- in response to Will Hartung
It's not (just) the bells and whistles. It's the easy-of-development. Obviously ui development can and has been done with Swing. It's just much slower and more difficult than with Objective-C and Cocoa. And given that these technologies are native to the iPhone, it makes much more sense to leverage them, than to introduce something entirely different like Java.Re: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Paul Beckford
- Posted on: June 15 2007 13:57 EDT
- in response to Bruce Fancher
+1 Thanks for pointng out what should be blatantly obvious to everyone. Objective-C is a fine language and the Mac UI is first class. BTW write-once-run-anywhere doesn't mean much when writing embedded software so who needs Java on the iPhone? Incidently the iPhone as a web client (Safari) has several options open to it. There is Javascript ofcourse, and then there are the new "rich-client" upstarts: Flex (Adobe) and Silverlight (Microsoft), both of which will support dynamic languages like Python and Ruby as well as their native ActionScript and C# respectively. Some how Sun has managed to screw up on the client. I'll take a look at the blog link you provided, it's nice to get the inside history on this stuff. BTW. As developers we shouldn't care. There is a lot to gain from taking a look at Objective-C and Cocoa. Objective-C has proper message sends, a pre-requisite for late-bound OO programming IMO. It shouldn't need saying, but there is a lot more to programming then just Java and C# :^) Paul.---[ Go to top ]
- Posted by: Fabrizio Giudici
- Posted on: June 15 2007 14:26 EDT
- in response to Paul Beckford
"Point 1: Just because Java is more popular doesn't mean that Cocoa isn't better (I'm not saying whether it is or isn't, but userbase != quality)." Well, "better" != "engineering quality". I don't want to enter the debate on which technology is best by an engineering point of view, since it's wasted time. Everybody would answer with his subjective point of view (and, sorry, there's nothing "blatant" here :-). Now, since we're talking of "successful" technologies, their diffusion, which is related to the ROI, is something that we can't avoid to consider. OS/2 was much better than Windows 3, nevertheless got soon a dead horse. A huge majority of developers thinks that there's a very low ROI in learning ObjC since there are just very very few chances to be hired in an ObjC project rather than Java, C#, etc. This is a fact. Being Cocoa not portable is another fact and I'd dare to say that portability is a good point for "better" technologies. :-) For the rest: well, sorry, Flex/Flash is ruled out as well from the iPhone. And portability is by far more important in the phone market than on the Desktop, since there's much more diversity and there's no single platform with a huge distribution as Windows for desktop (at this point, a much more objective point on J2ME is that it largely fails - or make it hard - to deliver true portability; another point is that other technologies can't claim to be better).Re: ---[ Go to top ]
- Posted by: Bruce Fancher
- Posted on: June 15 2007 14:38 EDT
- in response to Fabrizio Giudici
If you're already a Java programmer, and you can't learn Objective-C in a few days, then you should really consider a new line of work. Trust me, the time invested in learning Cocoa will be more than made up by productivity gains for any but the most trivial application. Why is Flex/Flash ruled out from the iPhone? Flash runs in Safari on MacOS X so why couldn't it be made available on the iPhone at some point in the future?Re: ---[ Go to top ]
- Posted by: Frank Bank
- Posted on: June 15 2007 14:46 EDT
- in response to Bruce Fancher
Trust me, the time invested in learning Cocoa will be more than made up by productivity gains for any but the most trivial application
And what's that ROI for learning Objective-C?Maybe so[ Go to top ]
- Posted by: neunet n
- Posted on: June 18 2007 23:56 EDT
- in response to Bruce Fancher
Wall Street Journal: Flash is coming to the iPhone http://blogs.zdnet.com/Stewart/?p=241 greetings, modRe: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Paul Beckford
- Posted on: June 15 2007 16:21 EDT
- in response to Bruce Fancher
If you want to know why this is, read Paul Kim's blog about his experience at Sun a decade or so ago when Swing was being developed: http://www.noodlesoft.com/blog/category/java/.
Wow, Great link. Big corporations do stupid things and Sun isn't any different. All this GUI OS stuff started when Jobs abd Gates got a sneak preview of a Graphical System at Xerox Parc known as Smalltalk. Now around the same time that Sun came out with Java, they also acquired a statically typed high performance Smalltalk implementation. I'm not an Objective-C programmer and have little experience with NextStep/OpenStep, but I'm sure if I where I would be putting down much of the success of the NextStep GUI (now called Cocoa in Mac OS X) to the late-bound nature of Objective-C. Objective-C unlike C++ had the sense to retain the pure OO message send language feature taken from Smalltalk. Sun also had it's own advance Smalltalk inspired language called Self which retained message sends also. Both Self and Strongtalk were buried by Sun in favor of Java. I know this is only my opinion, but I often wonder where we would be today if Sun had chosen to promote Self or Smalltalk, either alongside Java or instead of Java. I bet we wouldn't have ended up looking at Ruby only 10 years later. At the end of the day, as developers we tend to get what we deserve. It's down to us! Paul.
In a nutshell, Sun had not one, but two, complete, working implementations of user interface frameworks that were based on Apple's Cocoa. Instead of simply cleaning up, documenting and releasing one of them, they very foolishly decided to start from scratch and write their own framework (Swing).Re: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Cedric Beust
- Posted on: June 16 2007 20:02 EDT
- in response to Bruce Fancher
What do you mean Apple prefers closed platforms? Not only is the foundation of Apple's operating system ("darwin") open-sourced
Kind of, since nobody but Apple can contribute to it. Besides: iPod, Apple TV, iPhone... Most of Apple's hardware out there today is a closed platform. -- CedricRe: Java on the iPhone: No Thanks![ Go to top ]
- Posted by: Paul Beckford
- Posted on: June 18 2007 00:29 EDT
- in response to Cedric Beust
Take a look at the TV ads for the iPhone and you'll see why. The iPhone doesn't come with a pointing device. No stylus, no mouse. What you use is your finger. So all apps for the iPhone (including web apps) will need to support their new "multi-touch" UI technology. I guess that's what you call innovation :^) Personally, I think the rest of our industry could learn a lot from Apple. They have managed to keep the idea of delivering value to the customer at the fore-front of their minds, whilst the rest of us are mostly busy creating premature standards and awkward self serving technology to serve our own ends. I wish them every success. Paul.What do you mean Apple prefers closed platforms? Not only is the foundation of Apple's operating system ("darwin") open-sourced
Kind of, since nobody but Apple can contribute to it.
Besides: iPod, Apple TV, iPhone... Most of Apple's hardware out there today is a closed platform.
--
CedricThe Vikings are comming!!![ Go to top ]
- Posted by: Rex Guildo
- Posted on: June 19 2007 12:00 EDT
- in response to Paul Beckford
Take a look at the TV ads for the iPhone and you'll see why.
Look at this ad: http://www.operamini.com/beta/video/Re: The Vikings are comming!!![ Go to top ]
- Posted by: Paul Beckford
- Posted on: June 19 2007 13:19 EDT
- in response to Rex Guildo
LOL :^). Didn't Apple do a "I'm a Mac", and "I'm a PC" sketch a few years back? The iPhone is really causing a stir. You pays your money and you takes your choice :^) I bought a Mac Powerbook about a year ago, and I haven't touched my Dell Laptop since. The difference is like night and day. If the iPhone lives up to the hype, then I won't mind paying a little extra for that either. Paul.Take a look at the TV ads for the iPhone and you'll see why.
Look at this ad: http://www.operamini.com/beta/video/Re: The Vikings are comming!!![ Go to top ]
- Posted by: Rex Guildo
- Posted on: June 19 2007 13:38 EDT
- in response to Paul Beckford
Watch it again! ;-)Take a look at the TV ads for the iPhone and you'll see why.
Look at this ad: http://www.operamini.com/beta/video/
LOL :^). Didn't Apple do a "I'm a Mac", and "I'm a PC" sketch a few years back?
The iPhone is really causing a stir. You pays your money and you takes your choice :^)
I bought a Mac Powerbook about a year ago, and I haven't touched my Dell Laptop since. The difference is like night and day. If the iPhone lives up to the hype, then I won't mind paying a little extra for that either.
Paul.The most successful java application is a j2me application![ Go to top ]
- Posted by: Rex Guildo
- Posted on: June 16 2007 05:04 EDT
- in response to Eugene Ciurana
The most successful java application is a j2me application: Opera Mini. Opera Mini rocks! Who cares about safari? Beta version of the new Opera Mini Dimension will be available on 19th june: http://www.operamini.com/beta/ Get ready for a new Dimension!Mobile carriers also like to gouge consumers with services at ten times the price per unit than equivalent services on the Internet, and they can get away with it thanks to lack of competition within their walled gardens.
Well, yes there seems to be an US embargo: http://blogs.zdnet.com/BTL/?p=5383. Rumours: Anybody knows some details about the Nintendo 'Wii Phone'?Java on the clients side? Objective C[ Go to top ]
- Posted by: Victor C.
- Posted on: June 16 2007 08:08 EDT
- in response to Eugene Ciurana
Safari 4 Windoze has a lot of widget capability. Steve sees no reason for Java deployment issues - his plan I guess is to use Objective C + Safari to go into Windows - so if you are an apple fan boy (I am) then Objective C. Also I said before Java 7 is no longer a lang, but more of a product w/ all the stuff added. .V (i like apple - but I LOVED wxD )iPhone is out of date for the non-US market[ Go to top ]
- Posted by: John Davies
- Posted on: June 17 2007 13:42 EDT
- in response to Eugene Ciurana
I'm an Apple fan, I've got a MBP most of the iPods but this is just too far from being useful outside of the US. Without any 3G technology it's pretty far behind any current technology or for that matter technology that's already been out for several years in Asia and Europe. I'd love an iPhone but where's the HSDPA or 3G support? I know Apple are banking on people using WiFi but even there most large Asian and European cities eclipse the largest US cities and we still like our 3-3.5G technology. Fingers crossed they'll to an up to date (21st century) version for the non-US market and we'll start to buy them here but until then my next phone is the new Nokia E90, not quite as sexy as the iPhone perhaps but definitely up to date. Java on either of them? I've tried on a few phones, the real pain is the crap J2ME version ad their different profiles, I'm waiting for a phone with J2SE on it, then we can really start to program on mobile devices. -John-Apple iPhone[ Go to top ]
- Posted by: alex john
- Posted on: August 04 2010 09:32 EDT
- in response to Eugene Ciurana
Apple company everytime want to looking different, but also quality..
actually why not, i love open source and app from 3.party
and different skins for cover for example iPhone Skins