This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Can anyone here give me a quick and dirty comparison - I want to write some apps that can run on a wireless PDA or cell phone and am looking for a good way to go. Cell phones are intersting because they're so prevalent and Sun seems to think that Java will be running on lots and lots of them Real Soon Now. PDAs are interesting because I'll need some space for a graphical display (76x76 min 94x94 better). Thanks, Burk
SCJP, SCJD, SCEA 5 "Any sufficiently analyzed magic is indistinguishable from science!" Agatha Heterodyne (Girl Genius)
I'd go for the cell phones, since I think you'll see the most volume there. As you've observed, though, the PDA gives you a lot more space to work with, in terms of screen space and processing power and available APIs.
Joined: Oct 01, 2001
Jonathan, Thanks for the reply. Looks like I forgot about the Brew part when I posted this thing... How does Brew fit into the Java on cell phones thing? Have you used it? Does it conform to J2ME at all or is it soemthing else altogether? Sorry for the barrage of questions, but I'm anxious to get started and hate reinventing the wheel, unless nobody else in the area has done so. Thanks!
BREW is a C++ based platform for application development and delivery. It only works on Qualcomm phones and CDMA networks. In the US, the largest BREW operator is Verizon. Yes, you can run J2ME on top of BREW. BREW is a technology developed by a telecomm company for the telecomm industry. It takes care of security and a wide range of issues on application provision. But it is not very developer friend. You need to pay several hundred $$$s to buy certificates etc. before you even start developing.
Originally posted by Michael Yuan: It only works on Qualcomm phones and CDMA networks. Yes, you can run J2ME on top of BREW. You need to pay several hundred $$$s to buy certificates etc. before you even start developing.
Ouch! Sounds like its expensive, with a rather limited audience - yet I read in the SD Times that Palm was licensing the BREW application delivery system. Does this mean that we (those of us targeting Palm devices) will have to pay through the nose to bring our apps to market? Why would we do it when there's freebie places like PalmGear to distribute from?
Joined: Mar 07, 2002
BREW enables seamless end-to-end delivery over the air (OTA). With PalmGear etc. you have to download the app and then sync. You might need to buy a special license code from the developer to enable the "full" version. You can not charge the cost of the app to your phone bill. OTA delivery is a big chanllenge for telecomm operators. BREW solves that problem and automatically takes care billing/user tracking for developers. It is certianly nice from the provisioning point of view.
Joined: Oct 01, 2001
Sounds like OTA has some definite plusses, but if it costs hundreds to get an app certified and it only sells for less than ten dollars a pop then its gonna take a lot of users just to break even. Sounds like the marketing strategy may be more complicated than the programming. :roll:
Here are the points I found while scramming through my preparation for J2ME, BREW technologies presentation in my office.
* CDMA, TDMA, GSM, etc are all wireless protocols, think of them like TCP, UDP, etc. * WAP/WML are the equivalent of HTTP/HTML (and, in fact, are derived from the latter). * Bluetooth is a shortrange wireless protocol, i.e. a LAN protocol. * J2ME and BREW are programming languages designed for small devices. * IMode, Jornada, iPaq, Palm, RIM, etc are all specific wireless devices. * Qualcomm�'s BREW can be viewed as a set of APIs that enable developers to create software applications for wireless devices (wireless phones for now), and a means of selling and delivering applications to end-users. Java 2 Micro Edition (J2ME) is Sun's version of Java aimed at machines with limited hardware resources such as PDAs, cell phones, and other consumer electronic and embedded devices. * BREW supports a business operation and revenue model for wireless operators through its BDS (Brew Distribution System) which is absent in J2ME, Symbian or .NET CF(compact framework). * Embedded VC++ (cVC) is dieing and MicroSoft replaced it with its .Net CF. * Windows CE and EPOC are operating systems for small hand held devices. * Symbian and BREW are C++. They have always been more efficient (and probably more powerful, but it is changing) than J2ME. But in terms of developer productivity and popularity, Symbian and BREW are *nowhere near* J2ME. --- reference: Michael Yuan. * Win32 API developers will BREW familiar while Java developers will feel comforatble with J2ME. * BREW is not protable but J2ME is portable. * BREW is faster and J2ME is comparatively slower or resource intensive. However new 'Java Accelaretor Chip' is supposed to make the performace issue comparable. * BREW provides J2Bridge tools so that J2ME applications can be run and tested in BREW devices. So there is no restriction ofJ2ME and BREW co-existing in the same device. * As J2ME entered first, it the lead in Wirelss market share with a competition from .NET CF and BREW. * AT&T, T-Mobile, Sprint are large carriers of J2ME while Verizon is the only large carrier of BREW in USA. * There are numerous online resources, active community for J2ME while scarce resources for BREW.
Ashik Uzzaman Lead Member of Technical Staff, Salesforce.com, San Francisco, CA, USA.
It is a dual licensed java-like environment that allows you to deploy on PocketPC and PalmOS. They say that Symbian support is also coming. The plusses that I see in using Superwaba are:
You get a free environment you can start developing with (using their GPL version and Eclipse or NetBeans). When you need to deploy, you will have to buy their commercial version, however.
Java style of development -> much faster than C++ (PocketPC, PalmOS, Symbian, BREW)
Your programs are compiled to native binaries -> run faster than java programs.
You have access to all OS resources and functions.
The disadvantage that I see is that Superwaba will not be available on many cellular phones that don't have any of the supported OSes. All of those phones are likely to have a J2ME environment. The bottom line is that if you want to target mainly cellular phones you are better off with J2ME. If you want to target mainly PDAs and in the future smartphones (phones having OS) you should strongly consider Superwaba.