DEV Community

Ankit Kumar
Ankit Kumar

Posted on

I am Android Developer with Java and Kotlin, Ask Me Anything!

Top comments (26)

Collapse
 
gauravchaddha1996 profile image
Gaurav Chaddha

IMHO native is better if your complexity level is medium and performance is needed. If you are business that want to make a working demo quickly for both android and ios, sure choose React Native. But if you want awesome animations, performance then go the native way. Checkout Airbnb's experience with react native and why they are switching to native completely.

Collapse
 
husseinmsaqr profile image
Hussein Mohamed

Please Gaurav, what's you mean by "IMHO"?!

Thread Thread
 
gauravchaddha1996 profile image
Gaurav Chaddha

In my humble opinion

Thread Thread
 
husseinmsaqr profile image
Hussein Mohamed

Ok, please Gaurav, want to know how can I make my self a Senior Android Developer?

  • And what's the knowledge and tools should be know as an Android Developer?

Thank you so much! :)

Thread Thread
 
gauravchaddha1996 profile image
Gaurav Chaddha • Edited

Hi man. I am NOT a senior android developer. In my opinion, I still lack the professional experience. Whatever I know about android has come from personal projects and internships during my college. I started my full-time job at Samsung Noida,India 3 months ago. There is still so much I need to learn in android, java and beyond.

Anyways, I've written an article for people who want to learn android development. This was the way I went - twitter, blog posts and a burning passion for improving my android skills.
Article link: dev.to/gauravchaddha1996/learning-...

Hope this article helps you. Mainly consider publications on android on medium, android subreddit, twitter as your best resource. Also checkout my GitHub repo on android resources. I hope this helps you.

Thread Thread
 
husseinmsaqr profile image
Hussein Mohamed

Please Ankit, you can answer to me?

Thread Thread
 
husseinmsaqr profile image
Hussein Mohamed

Thank you so much
Gaurav! :)

Collapse
 
alchermd profile image
John Alcher

I really admire Java as a language, and have always believe that most languages would be better if they adapt some of Java's OOP goodness. But for development (either web or mobile), it's really overwhelming to get started since every IDE does its own thing and there's a ton of configuration just to set things up. This is pretty apparent when you compare a "Hello World Web App": setting up with PHP, Python, or even Rails is wayyy simpler than Spring or JEE.

So my question is: what's a good strategy to not get overwhelmed with these details? Any tips with this context in particular?

Collapse
 
andy profile image
Andy Zhao (he/him)

Has Kotlin gained enough momentum and maturity where you would recommend it to new Android developers instead of learning Java?

Also, strictly for learning Android development, what are some pros and cons of learning Kotlin first vs Java first?

Collapse
 
architectak profile image
Ankit Kumar

During the I/O keynote, Google announced that they were making Kotlin an officially supported language for Android development. As of the 3.0 Preview, Android Studio ships with Kotlin support built-in, so creating an Android project that understands Kotlin code is now as easy as selecting a checkbox in Android Studio’s project creation wizard.

title : Kotlin vs Java

  • succinct code – with no findViewByIds

textView.setText("Hello World") - kotlin

TextView text = (TextView) findViewById(R.id.textView);

text.setText("Hello World");
Java need two line for same work.

  • Kotlin is null safe by default

  • Extension functions

Kotlin support

  • Coroutines are first-class citizens

  • There are no checked exceptions

  • Native support for delegation

  • Data classes
    And many more.

Collapse
 
manzanit0 profile image
Javier Garcia

Would you use Kotlin for overall server-side applications instead of Java? Why or why not?

Collapse
 
erikthered profile image
Erik Nelson

Kotlin is great for server-side work, Spring has very nice integration with it. I love the Project Reactor stuff they've added in Spring 5 too, which comes with its own set of Kotlin extensions.

Collapse
 
architectak profile image
Ankit Kumar

Sure! It’s amazing for server-side programming and plays well even with J2EE.

It can use anything Java can, so it’s as powerful as Java and has beautiful syntax as a bonus.

Collapse
 
lakuapik profile image
David Adi Nugroho

Should i learn kotlin or java first ?

Collapse
 
architectak profile image
Ankit Kumar

If you are new to programming then read come articles about Object Oriented Programs (without code) . Then start learning Kotlin. If you know Java then you can analyse on each steps of your Kotlin learning that how Kotlin is easier and better than Java (Specially for Android).

Collapse
 
abdulmalekalshugaa profile image
ABDULMALEK AL-SHUGAA

do you have any resourceful for android UI , i am really bad in design and want to improve this gap

Collapse
 
juankortiz profile image
juankOrtiz

In the process of making an app for Android (regardless the language), what is the most challenging step in that process?

Collapse
 
architectak profile image
Ankit Kumar

Hi JuankOrtiz.
For me personally,

  • choosing project architecture, mvvm vs mvp vs mvc, is challenging
  • software fragmentation of Android OS is also challenge me for my app development. We need to give support for older APIs to latest one.
  • Some security flaws in Android are also challenging part of app development.
Collapse
 
pavanbawdane profile image
Pavan Bawdane • Edited

How did you start with Android app development? I'm trying to get a start myself.

What sort of applications did you build first?

:)

Collapse
 
architectak profile image
Ankit Kumar

Hi Pawan,
Yes I started with Android app development. You can start building small apps eg. Hello World, Display Login page, Showing list of your friends names, Playing a song for your girlfriend, reminder for you to have lunch, showing your friends list from Facebook friend-list, Login with Google,fb,Twitter. Try with these kind of apps if you dont have a project to work. You will learn to code for Android.
Then creat some Restful API on your local server and get data from that server using retrofit or volley for above examples again.
... And you can visit my github profile to see small project (with code) to learn.

Collapse
 
blackbird profile image
Omkar Ajnadkar

Hey Ankit, What is your opinion about Flutter? Is it better to start using it than Android?

Collapse
 
architectak profile image
Ankit Kumar

Flutter is a hot topic among the developers. It’s a new mobile app SDK that helps developers and designers build modern mobile apps for iOS and Android (at least according to the official website).
It is an open source project developed mainly by a group of engineers at Google. But it also has external contributors (there were about 130 of them at the time of writing this post). It’s written in Dart language which is also maintained by Google. Of course, I would prefer Kotlin but when Flutter’s development started, Kotlin was not so popular as it is today so Dart seems like a reasonable choice. Having Flutter and Dart in control allowed for creating an awesome tooling and IDE integration. It works seamlessly with IntelliJ and Android Studio.

Something I noticed are

  • Flutter doesn’t support OpenGL yet, so there is no MapView or VideoView.
  • I found out that Flutter can be used as a View on Android and UIView on iOS.
  • No accessibility support.
  • I have great news for you: Flutter supports testing and it’s awesome! You can even write unit tests for UI!

Overall its good to start app development with Flutter.

Collapse
 
akshay81844 profile image
Akshay Nandwana

I would like to discuss more about profile GPU rendering. gpu rendering

Collapse
 
jothyharikrishnan profile image
jothyharikrishnan

Hi bro

Some comments may only be visible to logged-in visitors. Sign in to view all comments.