🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.jbuilder.java.language
Article #110

Re: Future development advise?

#110
From: Kevin Dean [TeamB]
Date: Sun, 27 May 2007 15:42
143 lines
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-mail
References: <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