Create cross platform apps in ubuntu - java

I am using Ubuntu on my computer, and I do not want to switch to another operating system.
I'm looking for a software that would let me program cross platform apps (for smartphones) with one programming language.
I would prefer a .NET language. Yes, I have looked at Mono, but they only offer their software in Windows and Mac.
Is there a software that would let me build a cross platform app? (I don't like Java, but JavaScript is one that I can handle)

MONO is available for more than both Mac and Windows. It runs in Ubuntu and instructions can be obtained from here.
iOS apps can unfortunately not be built without xcode, but the coding can easily be reused between Ubuntu and Mac. One software to checkout is Xamarin which allows you to use c# to develop iPhone and Android apps. I've been coding in .Net for a while, and I have to say that when I had to do a unix class project, MONO and Xamarin saved my life
Note: I know that your question specifically said you don't like the idea of switching platforms like you would need to in MONO, but I've done a lot of research on this and I've determined it to be my best option, I'd think it'll work for you if you're willing to use a Mac or PC

I'm looking for a software that would let me program cross platform apps (for smartphones) with one programming language.
If you are looking for some tools for developing cross platform apps for smartphones, I suggest you PhoneGap
Is there a software that would let me build a cross platform app? (I don't like Java, but JavaScript is one that I can handle)
You are using ubuntu and want to use .Net, No this is not a convenient solution. If you want a platform independent language, I absolutely suggest you, JAVA ;)
Please notice that:
Java IS NOT JavaScript and they are not related to each other.

I had the same question. I did come across Appcelerator. It seems that they supported Linux previously and the single language you can write in is Javascript.
It's not opensource. You have to make an account to download and install it, but there's free versions for solo developers. I'd rather use Kivy to develop in Python though ;)
Good luck.

Related

Java vs native coding in Android Application development

I plan to create an SDK (involving huge data manipulations), which can used to create applications on Android.
I plan to develop the complete SDK, including the libraries in Java, for the reason that if I implement my libraries in the native language(C++) the data movement between the Java and the native layer will involve memory copies and will make my application look slow.
I plan to port the same SDK later to other platforms like Windows Mobile. I am a bit confused on the better approach to code in such cases, keeping in mind the portability and performance of the SDK.
Inputs will be greatly appreciated.
Windows Mobile supports native code (Visual C++, see Getting Started in Developing Applications for Windows Mobile) so using the Android NDK would be a good option. At least you wouldn't have to write the whole thing from scratch. You could have the common code base written in C/C++ and only write the Java wrappers for Android.
As you know, Windows Phone 7 (the successor to Windows Mobile) uses C# and whatever approach you take on Android, you'd need to rewrite the SDK from scratch anyway. Windows Phone 7.x might be supporting native code (C/C++) sometime in the future but not anytime soon.

DId Quicktime 7.6.5 Windows fix QT for Java? Best video for JavaFX?

Greetings,
I have read that QuickTime for Java is esentially broken on both Windows 7 and Snow Leopard. I can't tell how broken -- doesn't seem broken, but could just be my setup. I'm trying to determine whether this is a good technology stack, or if I should look elsewhere.
Objective: I want to build a specialized desktop video player and annotation program for both Mac and Windows (and Linux if possible). I think I want to use JavaFX (JavaFX as a Flash/Flex alternative that can use all Java libs and can build a decent UI.) I need to use something like QuickTime vs. Flash video as I need frame-accurate playback and wide codec support. I'd prefer to code in a relatively high-level language (not C++).
Thanks,
Cameron
Apple seems to have abandon QT for Java. Wikipedia's QuickTime for Java page seems to sum it up well. A select quote:
Currently most of QTJ is broken on
recent windows-running computers.
Windows machines that use the
no-execute (NX) page-protection
security feature of recent CPUs cannot
run even the demos without changing
the configuration. This can be easily
verified by a developer via a test-run
of one of the demos coming with QTJ.
An "execution protection violation" is
reported and the program is aborted by
Windows. This renders QTJ unsuitable
for end-user application development
due to the necessary complicated
configuration of the NX feature.
So, not good.
Following the 2003 release of QTJ 6.1,
Apple has made few updates to QTJ,
mostly fixing bugs. Notably, QuickTime
7 was the first version of QuickTime
not to be accompanied or followed by a
QTJ release that wrapped the new
native API's. QuickTime 7's new API's,
such as those for working with
metadata and with frame-reordering
codecs, are not available to QTJ
programmers. Apple has also not
offered new classes to provide the
capture preview functionality that was
present in versions of QTJ prior to
6.1. Indeed, QTJ is dependent on some native API's that Apple no longer
recommends, most notably QuickDraw.
And probably not going to look good. Ever.
Have you tried Xuggler? It should work for you.

What is the equivalent of a Java applet in .NET?

What is the equivalent of a Java applet in .NET? Is it Silverlight? Is Java applet still widely in use?
Java applets were "the new hot thing" in 1997, when Java 1.0 came out. After a few years, they became less and less popular, mainly because installing Java on a computer was a big hurdle for many people (you had to download the whole JRE, which was big, it took a long time to install and Java was not that fast at that time - so many people saw it as a slow, bloated thing).
Macromedia Flash (which became Adobe Flash later, ofcourse) had advantages over Java applets in this regard - the plug-in was quick and easy to install, and so it became the dominant thing for interactive multimedia stuff on the web.
Microsoft's Silverlight is meant to be a competitor for Flash and Sun's JavaFX.
JavaFX is Sun's technology that should make it easy to do Flash-like things on the Java virtual machine. If JavaFX becomes a success, then Java applets using JavaFX might become popular again.
Note that earlier this year, Sun released a completely rewritten Java browser plug-in which is quicker and easier to install than the old plug-in. On of the things Sun is working on is making it just as easy to install the Java plug-in as it is to install the Flash plug-in.
Silverlight is analagous to Java applets, but not really equivalent. In my experience, Java applets are being used less and less.
Java applets are seriously out of vogue now - I haven't heard of any new apps using them in years. .NET has silverlight, which is more of a response to Flash than to Java applets.
In this day and age with JQuery and Mootools, MVC architecture, and Chrome's V8 engine, it might actually be better to just write your application in Javascript.
Silverlight.
However, while Silverlight may be the new hotness, Java applets are still a lot more popular... most people have a JVM, but most do not appreciate a massive Silverlight install just to see your web page.
Now, many things that could only be reasonably done in Java or ActiveX are done in plain old JavaScript using new AJAX/DHTML libraries like JQuery and Ext JS. Example: Google Maps. Unless you're doing fancy graphics, try JavaScript first.
From a language perspective, there is a Java-like language available in .NET called J#, which can ease your pain if you are translating Java code to the .NET platform. It doesn't emulate the Java GUI libraries, etc. but at least emulates the syntax.
Silverlight or XBAP. See the FAQ for differences.
Basically XBAP applications work on Windows only and run on the full .NET Framework. Silverlight on the other hand uses different core and set of libraries and is designed to be cross-platform.
Either SilverLight, or an ActiveX control (still in use on some sites). Java applet will work only if a JVM is installed on the client machine.
You'll see applets in use more in enterprises where tight control is maintained over installed Java versions and the browsers i.e. where the execution environment is constrained.
However I'm seeing fewer and fewer applet solutions even in these environments, especially with the rise of RIAs.

best platform for blackberry for screen tinter?

i need to build an app for blackberry that will change the background color for all apps
something like this:
http://www.thomson-software-solutions.com/html/screen_tinter.html
is this something i should do in java? i have no experience with programming for PDAs. which compiler would i use?
You would have to use J2ME (Java Platform, Micro Edition) with the RIM's API. To get started, you might want to pay a visit to RIM's BlackBerry Developer Zone. They have a development IDE with everything you need to get started.
You also must first understand that coding for mobile platforms is totally different from coding for a PC. What you can do is fairly restricted (by design, hardware creators usually don't want third-party addons to fault the device). I don't think your project is feasible.

.Net vs Java for mobile development. What's your take?

I am developing mobile apps for some time in .NET and I was always wondering if the grass is greener on the other side (Java).
Thus, I would like to ask your opinion about which one you prefer for your mobile apps and why is that so.
The main advantage of using Java is the broader installed base. If you use Java, you are going to reach orders of magnitude more phones than if you use .NET.
As far as I know, .NET works exclusively with Windows Mobile phones.
On the other hand, Mobile .NET is easier than Java (IMHO), and that's partly because of Visual Studio IDE which makes life so much simpler than any other development environment on the Java World. For example, doing Form Based applications in .NET mobile is really straightforward and simple.
So, the answer will basically depend on what you are trying to accomplish:
Trying to reach to the biggest number of mobile devices: go with Java
Trying to develop an application for Windows Mobile devices: go with .NET
Trying to develop an application that will run only on a controlled environment (A single business) where you get to decide the devices it will run on: decide which device you are going to use and then pick development environment.
Keep in mind that if you are talking about Java for Android or Blackberry development, you will face the same issue of not reaching to a huge installed base that you will with .NET. If you want the huge installed base, go with plain Java Mobile Edition.
I can only speak for windows mobile development stay with .net.
Sun don't even release a JVM for windows mobile devices I have developed for windows devices using java and using http://www2s.biglobe.ne.jp/~dat/java/project/jvm/index_en.html as my JVM which was very good the author even responded to a feature request I made.
It is true that if you're going to develop for WindowsMobile, J2ME is not a very good option. More than likely your device of choice will not come with a JVM and if it does, it'll be buggy and slow. Also, forget about trying to integrate with with OS at more than a basic level.
Just to add to what others have said, Sun has made phoneME available and if you want to go that route and deploy your MIDlet and VM together that is certainly a possibility. It's just a lot of work at this point.
For .NET guys - there is a Ubiq Mobile framework. Ubiq Mobile apps work on Android, iOS, Windows Phone and Java-based phones and tablets. This is rapid cross-platform development with .NET with cloud-based architecture. Getting started article: How to create simple UbiqMobile application with video.

Categories

Resources