Future of Java on Mac OS X - java

I'm mainly developing in .NET since a year (even if I start coding in Java during my studies) and I have to port a .NET application (more precisely an agent running as Windows Service which call a web service to transfer information and files) to Mac OS X.
My first idea was to develop a Java version of the application. But I read some articles about the future of Java on Mac OS X and I'm a little perplexed about this choice.
What do you think?

The future of Java on Mac is fine. Apple is contributing their code to the OpenJDK project, which has also started a project (starting Java 7) to build binaries for Mac. So, in the near future, we Mac users will be able to install JREs and JDKs pretty much the same way that Windows and Linux users do.
Have a read here and here.

Do you know about the Mono project? It's an opensource .NET framework that runs cross platform
http://www.mono-project.com/

Related

Java mobile for datalogic elf

I've been given the opportunity to develop an application to collect data including scanning and generating bar codes on a Datalogic ELF. The os is windows mobile 6.5, and the SDK supports java, however there seems to be very little in the way of examples or help etc. I would be grateful for any advice, links, tutorials for Java development.
Datalogic does not offer there SDK for JAVA only. Did you download and install there SDK from http://www.datalogic.com/eng/support-services/automatic-data-capture/downloads/software-utilities-sw-2.html?search_cat=27&search_prod=144.
The site states SDK for C++/.Net/JAVA and I assume it is coming with usage examples.
Further on you need a JVM runtime installed on the device. Does it really come with a JVM pre-installed? Normally you have to buy and install CrEme or J9 JVM for handheld devices running WEH6.5.
I would go with .NET (WEH65 comes with CF 3.5) or C++ and not install an additional Runtime, except for you are really in the need to do it in JAVA. Mostly the JAVA support of handheld SDKs is very limitted.

Java EE SDK for mac

After spending 3 solid days on this with nothing to be happy about. I'm being freaked out already. I'm a newly in java and just about getting it rolling in java ee...
Please, good people here. I am confused. I am looking for Java EE 6 SDK for mac os x lion 10.7.2 64bits.
I found on oracle's website java ee 6 sdk for unix and windows and no mac... spent tons of time on google and apple's website forums and support but found nothing pertaining to this.
Is it that mac does not need Java EE 6 SDK? or what? I already have netbeans installed and eclipse as well which I've been using during my early beginning stage in java SE.
Can anyone help?
Thanks in advance!
Mac is the Unix, did you tried shell script they provided?
Java EE is an API, not a complete implementation ( that is provided by your application server where your code is deployed to).
Hence you just need the API jars. This can, however, be avoided if you get the Netbeans+Glassfish bundle, and let Netbeans do the work by choosing an appropriate template when creating a new module.

Java or Objective-C for MacOSX (back to 10.3 & PPC)

We are starting some new app development but because of special business requirements, need to support back to Mac OS X 10.3 as well as PPC/Intel CPUs.
The latest Xcode 4 isn't an option, from what I can tell it only goes back to 10.5 and doesn't support PPC at all. Is Xcode 3 an option? Would it be easier to just use Java?
P.S. From anyone experienced in either, can you please comment on some of the pros and cons you've bumped into?
EDIT
As requested, here's a brief overview of the app:
The app needs to talk to a server which will expose JSON web services. The app itself needs to be built in a way that will allow plugins (not 3rd party, but in-house with the ability to customize which features the customer owns). Each plugin will gather specific information about the host OS - such as running apps, users, CPU usage, etc.
If you can find a way to make Objective-C work with your requirements, it is worth it in my opinion.
I myself am a former Java developer who has moved into the creation of native Mac OS and iOS apps. I tried using Java for some of my early Mac OS projects and always found the support to be lacking. It can be done, but it was always more difficult than it should've been and never worked as well as a native app.
Here is a link to another SO post that describes some workarounds for getting older SDK versions working in Xcode 4. I can't vouch for how well they work with current versions of Xcode, but it's worth trying.
In view of your requirements, especially the need to do some system evaluation, I would strongly recommend to use Objective-C and the Apple development environment. You will have a lot of difficulties using Java to retrieve the neccessary information about the host OS, that you want to use in your application.
You could try to run Xcode with older SDK versions, but I have virtually no experience on OSX to give you solid advice on how to do this.
EDIT: My Xcode 4 gives me an option to select a "Deployment Target", where I can go back to supporting 10.1, but I have no idea, if this is the right thing...
Well,
Apple isn't a Java friendly company. You don't have all the bindings you may need on their JVM.
So I strongelly recommend (given that your project will be Mac OS X only) Objective C instead of Java
I program in Java but on Mac OS X, Objective-C is better than Java because it is faster and developed by Apple itself. Moreover, if you develop a program in Objective-C, you can sell it on the Mac App Store while if you develop it with Java you can't.
So go with Objective-C.

Java ME 3.0 SDK on Linux?

Is it possible to develop java me applications on linux? It appears that there is no linux version of the sdk. Otherwise what would you suggest as a good language to develop mobile applications?
Use the 2.5.2 SDK. It works pretty well under Linux, actually.
I'd also second the recommendation for Android, where Linux is definitely not a second-class citizen.
I was able to install (an earlier version of) the SDK on a Windows machine and then copy the relevant libraries to my Linux development environment. I wish sun would provide the all the JDKs in zip/tar format. I hate having to INSTALL software just to get .jar files out of an archive. I should note that the SDK includes a mobile device emulator that doesn't work under Linux but you just need the .jars to compile code.
The Sun Java Wireless Toolkit 2.5.2 runs under Unbuntu 6.x, more details here:
http://java.sun.com/products/sjwtoolkit/download.html
We use WinXP for J2ME and Ubuntu for Android. Though that's more down to the preference of the coders than any limitiations.
Otherwise what would you suggest as a
good language to develop mobile
applications?
Well, you can still use the Java lang.
But maybe develop some Android apps.
virtual box can be a great help here, for OSX and Linux users, unfortunately most of the emulators and sdks, in particular the preverifiers are geared for Windows first, a prime example being Blackberry
Our flow tends to be to develop the bulk of the application in the std wtk environment, then do the final porting and tweaking under a virtualised Windows environment

Linux distros for Java Development

Simply, are there any Java Developer specific Linux distros?
A real Sun geek would chime in here about the virtues of using Solaris as a Java development platform, but I am much more ambivalent. Developing with Java is about the same on any linux distro; you are going to wind up having to install the JDK and tools of your choosing (Eclipse, Sun Studio, Tomcat, etc) so you may as well choose a distro on other criteria... perhaps how comfortable you are with it, how easy package management is, and if the look & feel suit your development habits are all big factors.
So, to answer your question more directly, a Java developer would do well with any major linux distro that they are comfortable with using in general. If you want some Java goodness out of the box, Fedora 9 and Ubuntu 8.04 have OpenJDK (and NetBeans) according to a recent announcement.
Dont listen to any of these noobs suggesting one distro over another. Java is Java and just about all distros can install java as such:
[package manager command to install] jdk
If the question was about creating RPM's, then obviously RH/CentOS/Fedora would be desirable over deb distros, source distros, or whatever other format you love. However, due to the nature of Java, a specific distro to use is only relevant if the OP cant formulate their own opinion and must follow whatever other people are doing.
To reiterate There is no java distro , use whatever will have you hit the ground running.
// begin hypocritical personal recomendation
... that being said ... I personally use Archlinux. Archlinux works on rolling releases so it is more likely to have a more recent JDK version then the "sudo apt-get dist-upgrade && sleep 6 months" distros of the world.
// end hypocritical personal recomendation
Also, I am fully prepared to get downvoted, but please, leave me above 50 so i can comment still, thanks!
Solaris :)
On a serious note, there is no Linux distro dedicated to Java, so it would be about the same.
OpenSolaris on the other hand (in my very humble experience) would be a bit faster, and you would have bonus of Dtrace as a tool. (Not that you can't find similar tools in Linux, but Dtrace should be somewhat more advanced).
I am very heavy into Java development and I personally use Ubuntu, so I agree with Sean on this one.
The package manager allows you to easily install the various SDKs (the SUN one, or even the upcoming OpenJDK 7).
Regards,
Arjen
I have used Ubuntu 8.04 and Fedora 9 with success.
For Ubuntu, the community forums were very helpful and if I remember correctly one of the repositories provided apt packages for Sun's Java6 distribution.
On Fedora 9, the Sun rpms work alright.
In either case, alternative/galternative is your friend to make sure that you point "java" and "javac" at the Sun install. I've been using Netbeans 6.1 and Eclipse 3.4 both on Fedora 9_x64 with no problems.
Just be careful with your distro's java installation. Most install gcj by default. For whatever reason, typing "java" into bash on most linux distros will not invoke a Sun JVM without some futzing.
Usually, there needs to be a bunch of soft-linking from /usr/local/bin -> $JDK_HOME/bin/* to get things working as I typically expect them.
I think the motive for this question is focused on the convenience of setup: Is there any distro that has Eclipse and the full Sun Java package (JRE, JDK, and DOCS) already "baked in" so that a manual install process (and deinstall of OpenJDK) is not required?
Having an "out-of-the-box" standardized environment for a development team is a huge time saver. If you don't already have access to a Java-experienced Linux SysAdmin to guide you through the process of rolling your own automated install, learning enough to do it yourself is definitely frustrating.
Few Developers enjoy spending their time wrenching around with OS internals to get tools like Glassfish, Derby, Groovy, Grails, GWT, etc. all working together. They prefer to go directly to writing code and inventing stuff inside a personal sandbox that exploits a pre-existing ecosystem of built-in services...
On the deployment side, having a common Linux install that requires no system-level configuration for end-users except for installing their favorite Java applications' .JAR file would be another big win.
There's definitely a market for someone to provide this, but most folks are simply gritting their teeth and doing it for themselves.
Either SUSE or RH, both have official support.
http://www.java.com/en/download/help/5000010500.xml
I have never heard of a Java-developer-specific Linux distro.
If you need a Linux distro for work purposes (not for personal home use) then the choice of distro is not really affected by the fact that you need to install a JDK, but other factors:
how quickly can it be installed?
how easy is it to maintain (updates etc)?
how fully-featured is it out-of-the-box?
how well supported is it? (commercial support if you need it, otherwise how good is community support?)
My suggestions for work-purposes: Ubuntu and Suse have been good for me. I have no experience with the others mentioned (eg: Fedora).
Basically, get a distro that "just plain works". Everything you need (JDK, IDE, etc) will almost certainly be easily installed from there.
I had a pleasant experience with Mandriva power pack 2008. Select something like development->"java tools" and everything is installed for you.
Everything being Sun JRE, JDK, and eclispe.
Solaris did install a 64bit kernel by default though.....
Latest Ubuntu version. It is easy enough and have packaged Sun Java, Eclipse, NetBeans, GlassFish, TomCat and other Java development related software so you have no worries installing and configuring it from scratch.
You can choose any of the distro available bcoz dere is no linux distro specifically for java development. Personally I have worked on RHEL 5, Fedora 9, Mandriva with considerable success.
Working on java is same on any linux distribution after the installation of jdk, tomcat, eclipse, etc.
As Nick Stinemates mentioned, Gentoo is an excellent distro for developing Java. It is one of the few Distros that I know of that has a very active Java maintainer group and almost everything that people use regularly is already packaged.
Be warned, Gentoo is not a drop dead simple distro to use Ubuntu -- you have to understand a bit about how the OS works -- but it does provide an excellent developerment environment.
The distro which is most developer friendly, in my opinion, is Gentoo. Since you compile everything from scratch, you choose exactly what makes up your system. Java can be installed very easily, so you could potentially just have a window environment and Java installed (aside from the standard tool chain.)
For a start: most -if not all- linux distribution allow you to "easily" install (that is: using the distribution's package manager) jdk's and jre's. The choice essentialy is more about what aspect of the distribution is most relevant to your personal taste.
Personnaly, I've come to value overall distribution stability (as in: upgrades to the base system are more or less guaranteed-not-to-hose-my-workstation-one-day-before-delivery-date) more, which made me stick with debian for the past few years.
The price to pay for that is either "sudo apt-get dist-upgrade && sleep 6 months" as theman_on_vista points out, or just install relevant stuff yourself in /opt. After all, installing some jdk's, maven or ant and eclipse|netbeans is easy enough (hell, there even is documentation somewhere I'm sure :) )
Oracle JVM from their website is going to have the same speed on debian, archlinux and slackware (and probably their derivatives). Your best bet is to tweak the JVM arguments for the web servers/IDEs you might be using. Remember that java for x64 architectures will consume more memory due to larger native pointers, so you would do well to tweak your heap size accordingly. Especially if you don't want your server to stop with an OutOfMemoryError exception.
if you use ubuntu or other debian family you can try this command
sudo apt-get install default-jdk default-jre
While not really a distribution, there is a virtual machine available for Tomcat. It could be adapted pretty easily for other Java based deployments (available for several virtualization technologies).
There are also several Java App Server VMs available from VMWare (VMWare only, of course).

Categories