667481 members! Sign up to stay informed.

Sponsored Links


Resources

Enterprise Java
Research Library

Get Java white papers, product information, case studies and webcasts

News News News Messages: 17 Messages: 17 Messages: 17 Printer friendly Printer friendly Printer friendly Post reply Post reply Post reply XML XML XML

The first week of the Android SDK

Posted by: Carl Rosenberger on November 19, 2007 DIGG
The first week has gone by since the Android SDK has been made available to the public. No matter how well Android fits into the existing Java landscape, it will strengthen Java (the language) in comparison to other languages and this will be very good for Java (the platform) also.

Android is, of course, Google's mobile API, meant to standardize mobile application deployment around Java much as GWT is meant to standardize client-side Javascript development by translating Java into Javascript.

Here are some of the first reactions from the community in the first week:What is your first impressions?

It's obvious there's a need for something like this, because mobile devices are so common, but the carriers and manufacturers protect their markets so much that programming for them tends to target specific devices - i.e., the Nokia P6225, versus "all Nokia devices" or perhaps "all Sprint phones" instead of "all devices."

Do you think this project will be the way to kickstart mobile development?

Threaded replies

·  The first week of the Android SDK by Carl Rosenberger on Mon Nov 19 05:19:00 EST 2007
  ·  Re: The first week of the Android SDK by Fabrice Mustier on Mon Nov 19 06:58:51 EST 2007
    ·  mine is missing by Marc Logemann on Mon Nov 19 09:55:31 EST 2007
  ·  $10 Million Developer Challenge by Andrew Rubalcaba on Mon Nov 19 15:10:19 EST 2007
  ·  this is not java!!!! by Bruno Sanz on Mon Nov 19 15:12:16 EST 2007
    ·  Re: this is not java!!!! by Georg Mueller on Mon Nov 19 15:32:20 EST 2007
    ·  Re: this is not java!!!! by Ilya Sterin on Mon Nov 19 22:12:58 EST 2007
    ·  Re: this is not java!!!! by tony siciliano on Tue Nov 20 07:17:41 EST 2007
      ·  Re: this is not java!!!! by Dave H on Tue Nov 20 13:48:36 EST 2007
        ·  Re: this is not java!!!! by Jeroen Wenting on Wed Nov 21 01:41:55 EST 2007
          ·  Google Diverging Java by Phil Haigh on Tue Nov 27 10:07:08 EST 2007
        ·  Re: this is not java!!!! by tony siciliano on Wed Nov 21 08:43:44 EST 2007
        ·  Re: this is not java!!!! by arjan tijms on Wed Nov 21 13:10:11 EST 2007
    ·  Re: this is not java!!!! by Karl Banke on Wed Nov 21 03:42:11 EST 2007
    ·  Re: this is not java!!!! by Abdeslam el Idrissi on Wed Nov 21 10:51:49 EST 2007
  ·  Re: The first week of the Android SDK by Kenneth Riggio on Mon Nov 19 18:24:10 EST 2007
  ·  The "specific phone" by Karl Banke on Wed Nov 21 03:47:22 EST 2007
  ·  Yet another blatant self marketing by Carlos Perez on Wed Nov 21 07:10:49 EST 2007
  Message #242811 Post reply Post reply Post reply Go to top Go to top Go to top

Re: The first week of the Android SDK

Posted by: Fabrice Mustier on November 19, 2007 in response to Message #242786
2 days after Android SDK release, ZK mobile has a quick turnaround. (Twitter as an example)
http://blogs.pathf.com/agileajax/2007/11/zk-on-android.html

  Message #242814 Post reply Post reply Post reply Go to top Go to top Go to top

mine is missing

Posted by: Marc Logemann on November 19, 2007 in response to Message #242811
blatant self marketing follows:

http://www.logemann.org/2007/11/14/first-impression-of-the-android-sdk/

  Message #242829 Post reply Post reply Post reply Go to top Go to top Go to top

$10 Million Developer Challenge

Posted by: Andrew Rubalcaba on November 19, 2007 in response to Message #242786
I think its gonna be cool to see what developers come out with for the challenge.

http://code.google.com/android/adc.html

Pretty cool route for Google.

  Message #242830 Post reply Post reply Post reply Go to top Go to top Go to top

this is not java!!!!

Posted by: Bruno Sanz on November 19, 2007 in response to Message #242786
Hi

As far as i know, this is not java. Yes you write your own code in java and then....then google compile to java...and then...recompile to .....something else....

This is not a java virtual machine....Is android virtual machine....Is like if you say that the code you write with microsoft .net in J# is java..Cos is not...

Other thing is if this is nice or not....The key is that Google didnt want to accept the Sun Java license....So they did something else....But we are not talkin about java

  Message #242831 Post reply Post reply Post reply Go to top Go to top Go to top

Re: this is not java!!!!

Posted by: Georg Mueller on November 19, 2007 in response to Message #242830
It is java language, but not java platform and they say nothing else on their website.

If I heard correctly Sun uses a different jvm for smartcards too, why no different vm (but for a whole class of devices) if it promises better performance.

Since they compile it from bytecode there could be a compiler on the phone itself to convert java classes to dalvik code on the fly when uploaded to the phone.

  Message #242834 Post reply Post reply Post reply Go to top Go to top Go to top

Re: The first week of the Android SDK

Posted by: Kenneth Riggio on November 19, 2007 in response to Message #242786
Being curious about the Android SDK, I put together a quick Android Blackjack game to see what was involved to get something working and to start to exploring what issues may present themselves regarding the custom VM. My limited overview can be found at:

http://blog.bumblemachine.com/archives/15

For the most part, all of my Java knowledge seems to apply and while I was worried about things like reflection, everything I did in my very, very, basic application worked.

I will also add that they seem to have take an approach similiar to Flex with the way the GUI components are laid out in XML. I haven't dug too deep yet, but so far it hasn't been a bad experience.

  Message #242837 Post reply Post reply Post reply Go to top Go to top Go to top

Re: this is not java!!!!

Posted by: Ilya Sterin on November 19, 2007 in response to Message #242830
So what? Why are you getting so animated about this? Android looks like a very promising technology, jvm or not. I'm all for another vm implementation specifically designed for mobile devices if it provides better performance/efficiency.

The upside to some is that it's java language, so you can use java based tools to develop these apps, like the beautiful IntelliJ. DSL would of been nice as well, but we'll see what happens and how it compares to what ever apple is going to release.

Ilya

  Message #242841 Post reply Post reply Post reply Go to top Go to top Go to top

Re: this is not java!!!!

Posted by: tony siciliano on November 20, 2007 in response to Message #242830
This is not a java virtual machine....Is android virtual machine........But we are not talkin about java


Read the spec for the JVM. Anything that can read byte code in a .class file and execute it, is a JVM. All other things (JIT, GC algorithm, etc...) are optional and left to the discretion of implementors.

In this case, Java code is compiled into .class files. Then the programs are run with Google's VM, which consequently, is still a JVM.

  Message #242859 Post reply Post reply Post reply Go to top Go to top Go to top

Re: this is not java!!!!

Posted by: Dave H on November 20, 2007 in response to Message #242841
Read the spec for the JVM. Anything that can read byte code in a .class file and execute it, is a JVM. All other things (JIT, GC algorithm, etc...) are optional and left to the discretion of implementors.

In this case, Java code is compiled into .class files. Then the programs are run with Google's VM, which consequently, is still a JVM.


This isn't actually the case. The Dalvik VM doesn't understand Java bytecode, it executes files in the Dalvik Executable (.dex) format. A developer tool called "dx" is used to transform the .class files before they get anywhere near the hardware. Android packages (.apk files) are deployed on the device and sandboxed by running as different users within a Linux kernel.

What we do get is Java-the-language and some of Java-the-API, and of course all the Java tools (including the Android Eclipse plug-in).

It's perhaps worth stating, nothing's preventing manufacturers from shipping a Java VM on an Android-based phone, just as they ship Java VMs on Symbian OS phones today. But by itself, the Dalvik VM is not part of Java-the-platform. (Whether this matters or not is a whole other debate.)

  Message #242876 Post reply Post reply Post reply Go to top Go to top Go to top

Re: this is not java!!!!

Posted by: Jeroen Wenting on November 21, 2007 in response to Message #242859
Read the spec for the JVM. Anything that can read byte code in a .class file and execute it, is a JVM. All other things (JIT, GC algorithm, etc...) are optional and left to the discretion of implementors.

In this case, Java code is compiled into .class files. Then the programs are run with Google's VM, which consequently, is still a JVM.


This isn't actually the case. The Dalvik VM doesn't understand Java bytecode, it executes files in the Dalvik Executable (.dex) format. A developer tool called "dx" is used to transform the .class files before they get anywhere near the hardware. Android packages (.apk files) are deployed on the device and sandboxed by running as different users within a Linux kernel.

What we do get is Java-the-language and some of Java-the-API, and of course all the Java tools (including the Android Eclipse plug-in).

It's perhaps worth stating, nothing's preventing manufacturers from shipping a Java VM on an Android-based phone, just as they ship Java VMs on Symbian OS phones today. But by itself, the Dalvik VM is not part of Java-the-platform. (Whether this matters or not is a whole other debate.)


It matters because sooner or later (probably sooner) Google will diverge the language.
They're also if my crystal ball is working going to release Windows (and possible Mac and/or Linux) versions, pushing them through their websites and services as "required plugins" and listing them as JVMs, causing existing Java applications (particularly applets) to break.
Your users will demand you deliver things in Google format instead of standard classfiles, and Sun will be out of the Java loop. Google will have de-facto control over the language.

  Message #242880 Post reply Post reply Post reply Go to top Go to top Go to top

Re: this is not java!!!!

Posted by: Karl Banke on November 21, 2007 in response to Message #242830
Hi

As far as i know, this is not java. Yes you write your own code in java and then....then google compile to java...and then...recompile to .....something else


If you have ever developed for something like the "awesome" MIDP 1.0 or 2.0 and seen the results on different phones you might get a very good pointer why that is the case.

  Message #242881 Post reply Post reply Post reply Go to top Go to top Go to top

The "specific phone"

Posted by: Karl Banke on November 21, 2007 in response to Message #242786
It's obvious there's a need for something like this, because mobile devices are so common, but the carriers and manufacturers protect their markets so much that programming for them tends to target specific devices - i.e., the Nokia P6225, versus "all Nokia devices" or perhaps "all Sprint phones" instead of "all devices."?


What I have seen so far with regards to the API looks very promising - BUT I don't really believe that you can prevent the above to happen. Keep in mind that various parts of the API are optional.

Manufactures and phone companies will continue to create proprietary extensions because that is basically their business model. If a phone does not outshine an older phone "feature wise" what is the purpose of a new phone?

  Message #242891 Post reply Post reply Post reply Go to top Go to top Go to top

Yet another blatant self marketing

Posted by: Carlos Perez on November 21, 2007 in response to Message #242786
Here's my impressions:

http://www.manageability.org/blog/stuff/google-android-disappointment

with another take, more on the business strategy side:

http://www.manageability.org/blog/stuff/google-open-source-gphone

  Message #242893 Post reply Post reply Post reply Go to top Go to top Go to top

Re: this is not java!!!!

Posted by: tony siciliano on November 21, 2007 in response to Message #242859
Read the spec for the JVM. Anything that can read byte code in a .class file and execute it, is a JVM. All other things (JIT, GC algorithm, etc...) are optional and left to the discretion of implementors.

In this case, Java code is compiled into .class files. Then the programs are run with Google's VM, which consequently, is still a JVM.


This isn't actually the case. The Dalvik VM doesn't understand Java bytecode, it executes files in the Dalvik Executable (.dex) format.


My mistake. Thanks for clearing that up.

  Message #242895 Post reply Post reply Post reply Go to top Go to top Go to top

Re: this is not java!!!!

Posted by: Abdeslam el Idrissi on November 21, 2007 in response to Message #242830
Hi,

Small devices means small resources. The problem is not really the SDK (J2ME or something else) but the right jvm ( What happened to jedoek??? It was a good JVM).
Esmertec's commercial Jbed (see: http://www.esmertec.com/solutions/mobile_multimedia/jbed_cdc/VM/index.shtml )was doing the same thing: transforming java code to native code. Esmertec was doing this for many years long and it's largely accepted by companies that requires real-time execution from their java code.

It was funny to know that Esmertec has contributed to the Open Handset Alliance initiative with their OMA applications (MMS, WAP, DRM, SyncML, and IM). Android is free and Jbed not! Android Jbed killer?
http://www.esmertec.com/solutions/mobile_multimedia/android_platform/

Regards,
Abdeslam

  Message #242901 Post reply Post reply Post reply Go to top Go to top Go to top

Re: this is not java!!!!

Posted by: arjan tijms on November 21, 2007 in response to Message #242859
This isn't actually the case. The Dalvik VM doesn't understand Java bytecode, it executes files in the Dalvik Executable (.dex) format. A developer tool called "dx" is used to transform the .class files before they get anywhere near the hardware.


What's stopping someone to just add a small layer on top of the Dalvik VM that does this transformation automatically and transparently?

  Message #243025 Post reply Post reply Post reply Go to top Go to top Go to top

Google Diverging Java

Posted by: Phil Haigh on November 27, 2007 in response to Message #242876
Read the spec for the JVM. Anything that can read byte code in a .class file and execute it, is a JVM. All other things (JIT, GC algorithm, etc...) are optional and left to the discretion of implementors.

In this case, Java code is compiled into .class files. Then the programs are run with Google's VM, which consequently, is still a JVM.


This isn't actually the case. The Dalvik VM doesn't understand Java bytecode, it executes files in the Dalvik Executable (.dex) format. A developer tool called "dx" is used to transform the .class files before they get anywhere near the hardware. Android packages (.apk files) are deployed on the device and sandboxed by running as different users within a Linux kernel.

What we do get is Java-the-language and some of Java-the-API, and of course all the Java tools (including the Android Eclipse plug-in).

It's perhaps worth stating, nothing's preventing manufacturers from shipping a Java VM on an Android-based phone, just as they ship Java VMs on Symbian OS phones today. But by itself, the Dalvik VM is not part of Java-the-platform. (Whether this matters or not is a whole other debate.)


It matters because sooner or later (probably sooner) Google will diverge the language.
They're also if my crystal ball is working going to release Windows (and possible Mac and/or Linux) versions, pushing them through their websites and services as "required plugins" and listing them as JVMs, causing existing Java applications (particularly applets) to break.
Your users will demand you deliver things in Google format instead of standard classfiles, and Sun will be out of the Java loop. Google will have de-facto control over the language.


Google can't "diverge" Java, since use of the Java trademark etc is subject to passing a compatibility test for a given platform. As others have already said, yes Andrioid does use the Java syntax but no it is not a recognised Java(tm) runtime environment. It can't pass the compatability tests for JSE or JME (or JEE ;-), and is therefore not called 'Java SE Andriod Edition' or some such.

The argument about what actually gets deployed _is_ irrelevant since Java native compilers can turn classes into native instructions even if you deploy class files. The point is, as long as the full Java (SE/ME/EE) API is supported and the comaptibility tests pass, then you have a bona fide Java implementation.

Even if Google do push this as a required plugin for Google apps on the non-mobile Web, it won't be, and can't replace, Java, without the JCP agreeing to re-scoping an existing platform spec or creating a new one just for Google. But hang on, Sun are already working in the mobile space... let me see, yes, JavaFX...

With the power being packed into modern mobile devices (can't call them phones any more), Java ME is looking more and more dated. If JavaFX can unify mobile and desktop GUI skills then I think this is far more likely to form the basis of a future successful Java Mobile API.

New content on TheServerSide.comNew content on TheServerSide.comNew content on TheServerSide.com

Dependency Injection in Java EE 6 - Part 1

Reza Rahman explores the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6. (November 2, Article)

SAML: It's Not just for Web services

SAML is an XML-based standard for exchanging authentication and authorization data between security domains. The single most important problem that SAML was created to solve is the Web browser Single Sign-On problem. Many organizations are debating whether to stay with version 1.1 or move to 2.0. This article makes observations about both options. (September 28, Article)

Programming is Also Teaching Your Team

Joe Ottinger takes a look at how people learn, and applies it to the practice of programming. He notes that understanding how people learn is an essential part of working in a programming team. (September 22, Article)

Can Java EE Deliver The Asynchronous Web?

Stephen Maryka gave us an article about the Asynchronous Web and posed a number of questions that get examined like an approach to delivering Asynchronous Web capabilities through extensions to existing Java EE technologies. (July 14, Article)

JSF Flex

JavaServer Faces Flex goal is to provide users capability in creating standard Flex components, part of flexSDK which is open sourced through MPL license, as normal JSF components. This article by Ji Hoon Kim will provide an overview of creating a simple multilingual JSF page consisting of JSF Flex tags. (June 29, Article)

The Rules of SOA - A Road to a Successful SOA Implementation

In this session Jeff explores the key characteristics of successful SOA projects. He covers some of the patterns, and anti-patterns, tool sets, and strategies that he himself learned the hard way. Last, he provides a strategy and blueprint for achieving a high likelihood of success in your SOA project. (June 23, Tech Talk)

Ari Zilka Talks About Terracotta 3.1

Ari Zilka, CTO of Terracotta, Inc., talks about the new features in Terracotta 3.1, announced during JavaOne and available now. (June 15, Tech Talk)

Enterprise Application Integration, and Spring

In this Tech Talk, Josh Long explores an integration challenge using Spring Integration and walks through the implementation, employing and expanding on the basic patterns of Enterprise Application Integration to tie together components into a function integration solution, and then demonstrates how Spring Integration helps address the integration requirements. (June 15, Tech Talk)

Google Web Toolkit: An Introduction

In this Tech Talk, David Geary teaches you: The basics of Google Web Toolkit; How to implement Ajax-enabled applications in Java; Internationalization; Hooking into the browser history mechanism; Remote procedure calls. (June 4, Tech Talk)

Just Enough Early Architecture to Guide Development

Jon Kern discusses the best architecture/technical solutions and ensure that they are repeated by all developers. By tackling the architecture up-front in a serial manner, subsequent parallel development will be much more manageable and predictable. (May 28, Tech Talk)

Productive Programmer: On the Lam from the Furniture Police

This keynote describes the frustrations of modern knowledge workers in their quest to actually get some work done, and solutions for how to guard yourself against all those distractions. Neal Ford talks about environments, coding, acceleration, automation, and avoiding repetition as ways to defeat the misguided attempts to sap your ability to produce good work. (May 26, Tech Talk)

Auto-Scaling Your Existing Web Application

Gil demonstrates how new, aggressive uses of already abundant compute capacity by common applications offer competitive value for application designers. (May 21, Tech Talk)

Automating Hibernate Mapping and Queries For Java Web Development

Chris Keene introduces WaveMaker as a new way to automate the ability to generate Hibernate classes in order to more quickly bring OR mapping into an application. (May 19, Article)

Auto-Scaling Your Existing Web Application

In this session Nati Shalom demonstrates how to take a standard Java EE web application and scale it out or down dynamically without changes to the application code. Seeing as most web applications are over-provisioned to meet infrequent peak loads, this is a dramatic change because it enables growing your application as needed, when needed, without paying for unutilized resources. (May 19, Tech Talk)

Free Book PDF Download: Mastering EJB Third Edition

Mastering EJB was one of the original and most influential EJB books in the industry. Mastering EJB III now returns with two new expert co-authors, updated for EJB 2.1 and 30% new chapters including security, integration, best practices, open source, and more.
(Book PDF Download)

Application Server Matrix

The Application Server Matrix is a detailed listing of J2EE vendors and their application server products, with information on latest version numbers, J2EE spec support and licensing, pricing, platform support, and links to product downloads and reviews.
(Application Server Comparison Matrix)

News | Blogs | Discussions | Tech talks | Patterns | Reviews | White Papers | Downloads | Articles | Media kit | About
Java Solutions
All Content Copyright ©2007 TheServerSide Privacy Policy
Site Map