Article View: borland.public.jbuilder.java.language
Article #110Re: Future development advise?
From: Kevin Dean [TeamB]
Date: Sun, 27 May 2007 15:42
Date: Sun, 27 May 2007 15:42
143 lines
6079 bytes
6079 bytes
I'll try to answer this as best I can, speaking from the perspective of someone who works in both the C# and Java worlds... A Nonymous wrote: >Pros and cons as I see them: > >C# Advantages: > >1. We have someone in house who has some C# experience, but not much, >and they are a new junior developer. I wouldn't really count that. "Some" plus "junior" is only marginally better than none at all (no offense intended to your developer). C#/.NET and Java are both complex environments and it will take time to learn enough of either platform to become productive. >2. C# and the compact frame work will run on a PC or a Win CE device. >There will most likely be separate apps with the CE version being a >"lite" version, but if everything is in C# we can share a large chunk of >the tricky low level code. Actually, the tricky low-level code is a bit of a problem in C#, just as it is in Java, because the environment shields you from a lot of the low-level OS API. That being said, proper planning will allow you to use the same low-level functions in both Win32 and CE. >C# Disadvantages: > >1. Closes the door to MAC/Linux. I know there are 3rd party .NET >implementations for these platforms but I am not counting on them. Agreed. Mono is available for Linux but isn't complete (see http://www.mono-project.com/Roadmap for details). There is no Max implementation that I'm aware of. >2. Won't run on non CE devices or phones (i.e. Palm, Blackberry, etc.) Major drawback. >3. Source code protection... Obfuscation is available, though I'm not sure about the quality. Regardless of the platform (.NET, Java, C, assembly) a determined team could take it apart. Unless you have a highly-proprietary algorithm that is a competitive difference, I wouldn't worry about it. Most applications are copied not by reverse engineering them but rather by examining their functionality and rebuilding from there. >Java Advantages: > >1. In theory should run on any platform that supports Java including >Windows, MAC, Linux, Win CE, Palm, Blackberry, Moto Razor... With proper care, yes. As with CE vs. Win32, you will have to work with a restricted API on the compact device. >Java Disadvantages: > >1. NO Java experience. Will probably have to hire someone. Not much difference than above. >2. Concerns about how "universal" it really is. Are there a lot of >limitations that that will impact us on different platforms? I haven't done any Java mobile development, but my understanding is that the mobile environment can vary somewhat from platform to platform, which can make portability tricky. In the full client environments (Windows, Linux, Mac), there isn't much visible difference between implementations (and no API difference). >3. Source code protection... See above. >What our software does: > >1. Communicates with our devices over direct serial, modem and Ethernet >(UDP and TCP) connections. Ethernet uses AES encryption and a >proprietary protocol, NOT http. Serial communications is a bit of a problem in Java. You'll need a third-party library that implements the JavaComm API. The one I use quite successfully is this: http://serialio.com/products/serialport/serialport.php Serial communications support is better in .NET, but again you'd be better off with a third-party library. >2. Upload/download binary configuration files (50K - 100K). Not a problem in either platform. >3. Monitor status. Not a problem in either platform. >4. Send commands. Not a problem in either platform. >5. Update firmware. (2M - 4M now but will increase to 16M soon). Not a problem in either platform. >6. Read and write to local files. Not a problem in either platform. >7. Foreign language versions. Not a problem in either platform. Internationalization is implemented a little differently in each, but not by much. >8. Update itself via the web. Java Web Start beats .NET ClickOnce hands down. AFAIK, however, both are available only for the full client platforms. You'll likely need to write your own update manager for the mobile clients. >NOTE: Not all version will do everything. For example I envision the >phone version to just be able to monitor status and send commands. > >Example: I get a call about a potential problem with a unit. I can >connect to it using my Internet enabled phone and look at the status. >If it is running a little hot, I could shut it down, or adjust some >settings. > >Now for the $64K question: Do you think Java is a suitable development >platform for these sort of applications? Absolutely. >I am interested in an unbiased opinion from someone who develops Java >apps, not just a lot of PR hype about how Java can walk on water... -- Kevin Dean [TeamB] Dolphin Data Development Ltd. http://www.datadevelopment.com/ Please see Borland's newsgroup guidelines at http://info.borland.com/newsgroups/guide.html
Technical Details
Message-ID:
<xn0f6p9aw40ef7c000-kdean@www.teamb.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news.glorb.com!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mailReferences:
<Xns993B80ED47EFAanonymoushotmailcom@207.105.83.66>Show Full Headers
Complete Article Headers
X-Google-Thread: f74b3,f794a8e1ab3f62ff
X-Google-Attributes: gidf74b3,public,usenet
X-Google-Language: ENGLISH,ASCII-7-bit
From: "Kevin Dean [TeamB]" <NkOdSePaAnM@datadevelopment.com>
Subject: Re: Future development advise?
Newsgroups: borland.public.jbuilder.java.language
References: <Xns993B80ED47EFAanonymoushotmailcom@207.105.83.66>
Organization: Dolphin Data Development Ltd.
User-Agent: XanaNews/1.18.1.6
X-Face: ":yn4zt^A_dn>6~{YJmu^B\'4w)e:apPM\VC=Dvf&*tASxX9|BYczkFd$xr.$vNSZ[3Uobrp]c4\+\l){!WQI.$]veP({HLd;CDYH?iN
Message-ID: <xn0f6p9aw40ef7c000-kdean@www.teamb.com>
X-Ref: newsgroups.borland.com ~XNS:0000082E
MIME-Version: 1.0
Content-Type: text/plain; format=flowed
NNTP-Posting-Host: 74.97.93.16
Date: 27 May 2007 08:42:50 -0700
X-Trace: newsgroups.borland.com 1180280570 74.97.93.16 (27 May 2007 08:42:50 -0700)
Lines: 143
X-Authenticated-User: kdean
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news.glorb.com!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mail