I am torn. I want to start making applications for OS X. There is a specifically under-served market that I would like to tap but I don't know if I should develop it only for the mac with Cocoa and Objective C or if I should develop it with Java and JavaFX.
I guess my question is, is Java robust enough to handle the same things as Objective C on Mac and C# (.net) on Windows?
C is the programming language most commonly used and recommended for writing operating systems. For this reason, we are going to recommend learning and using C for OS development. However, other languages such as C++ and Python can also be used.
Java runs very well on Windows, macOS and Linux Distributions. I work for Chronicle Software, and much of our software is open-source Java libraries, so we don't, or rather we can't, require our customers to run on a particular operating system.
Programmers prefer to use python instead of Java because python contains less line of code whereas Java is just opposite to it. Python programs are much shorter than JAVA programs.
writing an OS using Java is not a good choice. OS needs to deal with hardware which is not doable using java (except using JNI). And that is because JVM only provided limited commands which can be used in Java. These command including add, call a method and so on.
If you want to develop (exclusively) for OSX (and/or IPhone, Ipad) your best bet for native looking (and behaving) applications which tap into the power of the OS would still be learning Objective-C (and the Cocoa framework).
Learning Objective-C syntax isn't hard if you happen to have some plain C experience. Exploring the framework and functionality provided (Cocoa) is the more time-consuming part (the same can be said of other languages).
Mac users will generally avoid applications that don't behave as they expect. If you honestly think you can "tap" that market then you are going to have to be prepared to put the effort into understanding that market - and the native development tools will make that task easier.
Well, Java is robust, but still, there are some things that you want to do in a operating system specific... Mostly UI, since you can access both Windows and OS X libraries from Java, there are complications in the use of specific technology, for instance WPF creates very handsome GUIs for windows, while Java is not as good as creating those.
It usually depends on the type of applications that you want to create, are those for business, enterprise usage where UI is not a big issue, but portability is? Go with Java. If you want to create visually appealing or speedy tools for a specific market? Go with OS Specific languages.
You should look at things differently. You need to learn programming and most of the cases Java is not the answer for a beginner.
What you needn't do is choose a language because "it's better". If you want to develop applications for OS X you should learn Objective C.
Then at some point in the future you might realize you need to do Java. No problem, you already are a developer, it'll be a breeze to learn Java then.
So the point is just learn to program.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With