Board index » kylix » Re: Is this an alternative to cross platform solution?

Re: Is this an alternative to cross platform solution?


2006-02-24 03:48:34 PM
kylix0
FrankW wrote:
Quote
Hi,

It seems difficult and taking longer time to develop a program runs in
different platforms, I'm thinking of this:

Develop the program only in linux, there will be no problem to deploy that
program to Linux stations, but a Linux box can be setup to run the program
with nomachine.com software installed so that Windows workstations can run
the program as well, this will save a lot of developing crossplatform
program time, doable? what do You think?
Some may debate this, but if you need Xplatform, want it to work, and want
save users from a real hassle with set-up and work around routines for the
various platforms, use Java. It is very easy to deploy a single jar file
and then have the full app up and running.
If you are writing platform specific apps or non GUI apps, then you can
choose from Java, Pascal, Deplhi, Perl, Python, C/C++ or something else.
 
 

Re:Re: Is this an alternative to cross platform solution?

Hi,
It seems difficult and taking longer time to develop a program runs in
different platforms, I'm thinking of this:
Develop the program only in linux, there will be no problem to deploy that
program to Linux stations, but a Linux box can be setup to run the program
with nomachine.com software installed so that Windows workstations can run
the program as well, this will save a lot of developing crossplatform
program time, doable? what do You think?
 

Re:Re: Is this an alternative to cross platform solution?

Marco van de Voort wrote:
Quote
On 2006-02-24, Paul Nichols (TeamB) < XXXX@XXXXX.COM >wrote:
Of course you would have to deploy the correct version of the Java VM too,
something that might require assistance of an administrator, while plain
compiled binaries (and even scripts, if their engine doesn't require
installation) can be ran freely.
Of course if you write the application for a specific JVM, that it true.
Unless you have some need to do this, it is STUPID to do so. I always write
my apps to run on 1.2-1.5. If you write it for Java 2, you will generally
be safe.
Windows is the only OS that does not come with a Java 2 VM on it. The newer
versions do as per the lawsuit requirements to MS. However, Java.com makes
it dirt simply to install a Java 2 VM on Windows.
 

{smallsort}

Re:Re: Is this an alternative to cross platform solution?

Michael Schnell wrote:
Quote
>If you are writing platform specific apps or non GUI apps, then you can
>choose from Java, Pascal, Deplhi, Perl, Python, C/C++ or something else.

AFAIK, Python is supposed to be cross platform, too.

-Michael
It is, but you will need to install the GUI widget set in addition to the
Python runtimes. If you use QT for instance, that will have to be installed
QT widgetset as well. If you are using WXWindows, then they will have to be
installed as well.
I am not knocking any language or toolset, mind you. I am not ONLY ONE
language or toolset minded. I want to use what works.
Java is the only language/toolset that makes XPlatform easy to deploy and a
reality. It may not remain the only one, nor am I saying it is the ideal,
but it works today, right now.
Everything else requires a great deal of time making specific installers,
tons of libraries to ship, etc. With a Java app, if they have a Java 2 VM
installed and a good programmer writes to target Java 2 (from 1.2-1.5),
then you will be good to go by deploying a self contained .jar file. One
file deploy.
Using Web Start, you can even go one better. Simply design a simple jnlp
file, put the jar on a server, have the users link to the Web Site and the
application will be automatically distributed to whoever links to the site.
In addition, updates are automatic. You send your update to the server,
everyone automatically gets it the next time they start the application.
You cannot beat it for simplicity of rollouts and installs.
Platform specific code can be written in whatever you like. OS system calls,
best to use C/C++. Perl and Python are great for Web or Utils, as is Java.
All three of these will work XPlatform without a great deal of hazzle, non
GUI. Kylix will work as well (if you spend some time trying to make it work
with modern distros). If Borland had really committed to Kylix/Delphi it
could have been a GUI killer. They didn't and reality is, Java is the best
way to go for XPlatform.
 

Re:Re: Is this an alternative to cross platform solution?

Florian Klaempfl wrote:
Quote
Paul Nichols (TeamB) wrote:
>
>Windows is the only OS that does not come with a Java 2 VM on it.

IIRC neither Novell/SuSE nor Debian/Ubuntu come with Java? I think it's
easier to say, MacOSX is the only important OS not from Sun which comes
with a Java 2 VM ;)
Well I have been running Suse for years, Debian too. I do not what would
prompot you to say that. In fact I HATE the way Suse buries Java in their
distro. Hint (if you look in YAST2, you will see a Java Setup icon for
using the Suse setup or roll your own. If YAST2 has this, I would think
they would be including Java with a normal install).
 

Re:Re: Is this an alternative to cross platform solution?

Yes, try Lazarus, a multiplatform, open source, Delphi close. Here are a
few links:
www.lazarus.freepascal.org/
en.wikipedia.org/wiki/Image:Lazarus_0.9.7.PNG
en.wikipedia.org/wiki/Lazarus_%28software%29
Lazarus IDE is Delphi 7 like and runs on Linux, Windows (95 or later),
FreeBSD, Solaris and Mac OS X.
With Lazarus you write only one software and then you can recompile it
with little modification for all this widgetsets:
Windows 32-bits native
Gtk1 (Linux, Solaris, FreeBSD)
Gtk2
Gnome
Carbon (Mac OS X)
And very soon also:
Qt
Windows CE (For PocketPC and SmartPhones)
Qtopia (For PDAs and SmartPhones)
In the long term future also:
PalmOS
Also, it is compatible with VCL, so you can recompile your existing VCL
software. After adapting the code you can get the same software to
compile with Lazarus and Delphi. Here is one software that can be
compiled with both:
magnifier.sourceforge.net/
More then 160.000 downloads, so it's really well tested.
--
Felipe
 

Re:Re: Is this an alternative to cross platform solution?

Quote
If you are writing platform specific apps or non GUI apps, then you can
choose from Java, Pascal, Deplhi, Perl, Python, C/C++ or something else.
AFAIK, Python is supposed to be cross platform, too.
-Michael
 

Re:Re: Is this an alternative to cross platform solution?

On 2006-02-24, Paul Nichols (TeamB) < XXXX@XXXXX.COM >wrote:
Quote
>
>It seems difficult and taking longer time to develop a program runs in
>different platforms, I'm thinking of this:
>
>Develop the program only in linux, there will be no problem to deploy that
>program to Linux stations, but a Linux box can be setup to run the program
>with nomachine.com software installed so that Windows workstations can run
>the program as well, this will save a lot of developing crossplatform
>program time, doable? what do You think?

Some may debate this, but if you need Xplatform, want it to work, and want
save users from a real hassle with set-up and work around routines for the
various platforms, use Java. It is very easy to deploy a single jar file
and then have the full app up and running.
Of course you would have to deploy the correct version of the Java VM too,
something that might require assistance of an administrator, while plain
compiled binaries (and even scripts, if their engine doesn't require
installation) can be ran freely.
 

Re:Re: Is this an alternative to cross platform solution?

On 2006-02-24, Paul Nichols (TeamB) < XXXX@XXXXX.COM >wrote:
Quote
>On 2006-02-24, Paul Nichols (TeamB) < XXXX@XXXXX.COM >wrote:

>Of course you would have to deploy the correct version of the Java VM too,
>something that might require assistance of an administrator, while plain
>compiled binaries (and even scripts, if their engine doesn't require
>installation) can be ran freely.

Of course if you write the application for a specific JVM, that it true.
Unless you have some need to do this, it is STUPID to do so. I always write
my apps to run on 1.2-1.5. If you write it for Java 2, you will generally
be safe.
It is not just for the moment, but a maintenance issue for the entire
application lifecycle.
Quote
Windows is the only OS that does not come with a Java 2 VM on it.
I haven't seen a java VM in FreeBSD either. And most "pure" Linux distro's
also don't due to the non-free license.
Quote
The newer versions do as per the lawsuit requirements to MS. However,
Java.com makes it dirt simply to install a Java 2 VM on Windows.
If you are harry homeuser and have full rights of course. It is something
else having to deploy it in enterprises. Running binaries is possible on
nearly anything, except kiosk PCs.
And yes, I've extensive experience in rolling out apps to car-dealers. All
their machines are configured by their respective organisations (usually a
care producer), and they all have very strict corporate policies, only
call-based IT help that is often outsourced etc. This is not some exception,
but the reality of deploying over a company where you don't control the IT
department, or have to deal with multiple ones.
SO that is one big reason to stay away from dependancies, unless you are
100% sure you can avoid them. DLLs are not evil, unless they need installing
 

Re:Re: Is this an alternative to cross platform solution?

Paul Nichols (TeamB) wrote:
Quote

Windows is the only OS that does not come with a Java 2 VM on it.
IIRC neither Novell/SuSE nor Debian/Ubuntu come with Java? I think it's
easier to say, MacOSX is the only important OS not from Sun which comes
with a Java 2 VM ;)
 

Re:Re: Is this an alternative to cross platform solution?

On 2006-02-25, Paul Nichols (TeamB) < XXXX@XXXXX.COM >wrote:
Quote
Florian Klaempfl wrote:

>Paul Nichols (TeamB) wrote:
>>
>>Windows is the only OS that does not come with a Java 2 VM on it.
>
>IIRC neither Novell/SuSE nor Debian/Ubuntu come with Java? I think it's
>easier to say, MacOSX is the only important OS not from Sun which comes
>with a Java 2 VM ;)

Well I have been running Suse for years, Debian too. I do not what would
prompot you to say that. In fact I HATE the way Suse buries Java in their
distro. Hint (if you look in YAST2, you will see a Java Setup icon for
using the Suse setup or roll your own. If YAST2 has this, I would think
they would be including Java with a normal install).
Like 20 scripting languages are not already enough. It's getting worse than
microsoft nowadays with almost-required scripting languages installed.
All, as proven by MS historical, WILL be used for exploits in time.
 

Re:Re: Is this an alternative to cross platform solution?

FrankW wrote:
Quote
It seems difficult and taking longer time to develop a program runs in
different platforms, I'm thinking of this:

Develop the program only in linux, there will be no problem to deploy that
program to Linux stations, but a Linux box can be setup to run the program
with nomachine.com software installed so that Windows workstations can run
the program as well, this will save a lot of developing crossplatform
program time, doable? what do You think?
yes, of course. Free Pascal is very good for this.
It is capable of cross compiling from Linux to Windows. More information
on the Lazarus wiki.
Also you can write only one code on Lazarus and then recompile for:
Native win32, runs on Windows 95 or superior.
Gtk1 for old Linux computers or Damn Small Linux distribuition
Gtk2 for linux on modern computers
Carbon for native Mac OS X
And soon coming:
Qt4 for modern linux computers and also linux based PDAs and Smartphones
Windows CE for PDAs and Smartphones
All with the same code. Excelent resulting speed of the software.
Software done with some care can also be compiled with Delphi on Windows.