DEV Community

Discussion on: Kotlin: Learning Resources For Beginners

Collapse
 
nitya profile image
Nitya Narasimhan, Ph.D • Edited

Hey @shaijut -

I am a huge fan of PWA myself (ran PWACamp in 2017 and did some talks on PWA development and performance auditing. And as a consultant, I used to advocate for PWA first (over native mobile) for smaller businesses who had strict budgets and small (or non-existent) dev teams to maintain software. So I hear you on this.

That said, I want to stress two separate things:

  1. The purpose of this page is to provide a permanent and evolving document listing relevant resources for someone who wants to learn Kotlin. Like Javascript, Java and Python, this is a programming language that can be put to use in different domains (i.e., it is more than just mobile or native) so the focus is on seeing this as a language first. So regardless of what your preferred language or framework for app development is, I hope learning Kotlin gives you one more tool in your toolbelt for a future day when it might come in handy.

2.
The purpose of learning in public is to engage in exactly this kind of discussion so I am super glad you posted a comment! Your perspective on making sure apps "don't drain battery on mobile" is worthwhile. And in fact, it is equally a concern for mobile web apps (or any app on mobile) that targets emerging markets as I found out in a discussion I moderated recently.

I think every app development decision presents a new set of tradeoffs and we might need to make a decision based on the current context. So saying "PWA is better than native app" should be qualified by adding "because I want to build an app that does X, Y, Z and PWA has richer development support or lower costs or better user experience in that context. I wouldn't want someone new to mobile or web to make a blanket decision that one was better than the other.

The reason is - we don't always control all the parameters for the decision.

I might have to do native apps because I am being paid to do them. Or because I want to increase user awareness and access to my app on the Play Store (the challenge to discovering PWA to install them is still real). Or because native mobile devices provide some new custom hardware or feature that has not yet made it into the web platform interface (note that almost all the hardware APIs I worked with including camera, location, video, audio etc. invariably were supported in native frameworks first before the web browser platform was able to standardize and adopt relevant hooks).

I hope that helps. And I hope you keep posting comments and asking questions and sharing insights because this is really helpful not just to me, but to every other person who comes here to learn about this new learning path :-)

Collapse
 
shaijut profile image
Shaiju T

Nice 😄, Thanks for detailed explanation. Appreciate. It's good to learn new programming language.

In college days I choose Java for internship project because it has Job openings. But then I got Job as C#.NET developer.

Since then I sticked to C#.NET world, but recenlty that changed and now I am planning to learn languages like Go , Python , Ruby.

Curious to know how many programming language you have learned as a polyglot ? Did you get any benefit out of it ? Have you used it any projects or just learned ?