Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

As the title of this question suggests, I am looking forward to develop app(s) on Android platform without using Java at all. It doesn't mean I have some kind of vendetta against this beautiful language or I don't know how to develop apps in Java. But I am considering that my application(s) can be developed by only using XML, JavaScript and Ajax.

  • So do I still have to rely on Java?
  • Will there be any disadvantage(s) of not using Java?
  • Will I still be able to extend my app(s) in the future?
  • Am I asking a really stupid question here?

Kindly help me out.

Edit:

The app I am working on (still on whiteboard, need expert opinion on this approach) will simply fetch news from different news sources and will display to its user.

share|improve this question

closed as too broad by gnat, MichaelT, Snowman, Bart van Ingen Schenau, GlenH7 Dec 27 '14 at 23:10

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs. If this question can be reworded to fit the rules in the help center, please edit the question.

1  
@gnat I think this link might help you understand my question.meta.stackoverflow.com/questions/254570/… –  FaizanRabbani Dec 24 '14 at 7:01
2  
i find the question direct and clear –  Ali Dec 24 '14 at 7:15
2  
The question is clear, but it does not show any research effort. A simple google search for "android without java" shows numerous possibilities. –  GrandmasterB Dec 24 '14 at 7:29
1  
the fact that question is a bad fit for SO doesn't magically make it good for Programmers. Did you check Programmers meta guidance referred in prior comment? –  gnat Dec 24 '14 at 7:59
1  
@FaizanRabbani Stack Exchange in general and SO/Programmers specifically are not a good fit for opinions. Ideally, questions will be objective with answers that are either correct or not. Asking for thoughts, opinion polls, etc. are a poor fit for this format. –  Snowman Dec 24 '14 at 16:57

2 Answers 2

up vote 1 down vote accepted

checkout ionic http://ionicframework.com/ and telerik appBuilder http://www.telerik.com/appbuilder

if you are more getting to the bits and pieces and doing all on your own check cordova which is the base of the two mentioned above

So do I still have to rely on Java?

No for most of the cases

Will there be any disadvantage(s) of not using Java?

you are not doing native app you are limited by plugins available by the framework you are using and a small performance issue

Will I still be able to extend my app(s) in the future?

yes but again depend on which framework you are doing it and what it allows

Am I asking a really stupid question here?

not at all

share|improve this answer
    
+1 for mentioning the two links and cordova. –  FaizanRabbani Dec 24 '14 at 7:28

If you think about avoiding Java, but not Dalvik altogether, you could use Kotlin.

http://kotlinlang.org

Very neat language by JetBrains; thus it integrates well with Android Studio (or IntelliJ Idea). Much less verbose than Java, and introduces some functional programming concepts. Kind of like Scala, only simplier. It can coexist with Java in an Android project, or you can move everything to Kotlin. The IDE plugin allows for converting Java code into Kotlin automatically, so it's easy and facilitates learning it.

See: http://blog.gouline.net/2014/08/31/kotlin-the-swift-of-android/

It's a niche language and not 100% mature yet. I wouldn't advocate using it in large scale commercial projects, but for something light-weight or a hobby app; go for it. As a learning experience, and for the taste of a slightly different paradigm.

What would you be missing on?

  • Kotlin skills are not sought after by employers (as of now at least), so learning it doesn't add significant experience to your CV. Although a project done in Kotlin could still make for an interesting entry on a resume, indicating an enthusiastic programmer;

  • Superb refactoring functionality provided by Android Studio for Java is very limited when coding in Kotlin.

It has its counterpart born in the Eclipse world: http://eclipse.org/xtend/ - which seems to be somewhat similar. I've never tried that one though.

share|improve this answer
    
The app that I will develop might not be used on large scale, but its core idea (Non-Java development) might be used in other apps. So there will be issues going commercial on this platform? –  FaizanRabbani Dec 24 '14 at 9:27
2  
Noone can tell you 100% :) Out of my experience, it works all right, but I encountered some class loader problem trying to run a unit test that used both Kotlin and Realm.io. Realm works as an annotation processor, so there must have been some nasty interference between both. This sort of stuff. Regular unit tests were fine. In other words, it seems to work fine for the standard technology stack, but if you need some specific framework or a lib, better make sure that it plays nicely with Kotlin. I would prototype the app first. What is one man's edge case, could be a dealbreaker for another. –  Konrad Morawski Dec 24 '14 at 9:52
    
What if I want to develop from the scratch? –  FaizanRabbani Dec 24 '14 at 11:39
    
@FaizanRabbani from the scratch in what sense? –  Konrad Morawski Dec 24 '14 at 11:46
2  
@FaizanRabbani well, Kotlin is not supported by Android out of the box, but it interops with Java, so it is a native app after all - while that's not the case of Ionic or PhoneGap. If you don't even like the fact that you need Kotlin compiler & plugin for this to work, then well, the choice is pretty narrow, and it's only Java for SDK. You can use C++, too, but that's for NDK and not for typical software development. As the official docs put it: "In general, you should only use the NDK if it is essential to your app—never because you simply prefer to program in C/C++" - bit.ly/1fSbhs8 –  Konrad Morawski Dec 24 '14 at 11:56

Not the answer you're looking for? Browse other questions tagged or ask your own question.