Welcome!

Blog Feed Post

The Pros and Cons of Kotlin Language for Android App Development

pros-and-cons-of-kotlin-language-for-android-and-kotlin-vs-java

Probably one of the most important announcements made at Google I/O annual conference this year was the first-class support for Kotlin on Android. Similar to Swift for iOS development, Kotlin has brought up a number of questions. Above all, business owners who are running successful apps, and ones that are only willing to enter the Android market, want to know if it makes sense to use the newly adopted programming language over the traditional stack.

Specializing in Android development as one of the key technology domains, we at Eastern Peak want to help our clients make informed technology decisions. Having weighed the pros and cons of the Kotlin programming language, we have been able to source some valuable insights on the language, which we want to share with you. But first, let’s shed the light on the Kotlin’s early history and recent adoption trends.

What should you know about Kotlin? The background check.

Kotlin is a powerful statically-typed programming language that runs on Java Virtual Machine (JVM). Built by JetBrains, the development company behind TeamCity, YouTrack, and a number of IDE solutions, the language is completely open source.

The language isn’t quite new: it was introduced back in 2011. However, the interest for Kotlin peaked a couple of months ago, following the announcement about its official support as first-class Android development language at Google I/O 2017.

interest-in-kotlin-google-trends-stats

As a result, the language, for the first time entered into the top 50 languages in June, according to TIOBE Index, over 30 positions up since May.

Now, thanks to solid corporate support from JetBrains and Google, the language is rapidly gaining adoption. According to the information on the official website of the language, some of the leading technology companies, including Atlassian, Pivotal, as well as giants like Uber, Pinterest, Evernote, are actively using Kotlin for their Android apps.

If you are considering to join the lineup, make sure you are aware of the benefits as well as possible pitfalls of this technology. Here are some insights into the Kotlin programming language.

The Pros and Cons of Using Kotlin for Your Next Android App

Judging by the some of the most recent feedback (and the standing ovation to which Kotlin was announced the first-class language for Android), developers seem to love Kotlin. Being positioned as a “better Java”, it offers a number of improvements as compared to its 22-year old predecessor. So, here are some of Kotlin’s advantages:

Increases your team’s productivity

Being Java-based, Kotlin, however, eliminates the obsolescence and cumbersomeness of its predecessor. The language is compact, clear and efficient, it has a concise and intuitive syntax. As a result, Kotlin can significantly increase team productivity: It takes less time to write and deploy new code. This also contributes to better code maintainability at scale.

For example, converting the “App Lock” app from Java to Kotlin reduced the total lines of code by 30%, as reported by A. J. Alt, Android developer at Keepsafe.

Compatible with existing code

One of the strong points of Kotlin is its 100% Java interoperability.The language works well with Java itself, including all related tools and frameworks, which provides a rich ecosystem. Moreover, this makes it possible to gradually migrate to Kotlin, or to successfully use both languages within the same project.

Maintainability

Built and supported by JetBrains, Kotlin has a stellar support for a number of IDEs, including Android Studio. Using familiar and tried and true development tools also contributes to developer productivity and satisfaction.

Less bugs (and less QA time)

With a more compact and clear codebase, Kotlin allows for less errors and more stable code in production. The compiler detects all possible errors at compile time, not at run time. This makes Kotlin a safer alternative for Java.

Reliable

Unlike Swift, Kotlin is a mature language. Being introduced back in 2011, it has gone through multiple Alfa and Beta stages before its final 1.0 release. The latest release is also reversely compatible with the previous language versions.

However…

However, there are several pitfalls to consider before going all in with Kotlin in production.

  • Being very close to Java, Kotlin still differs in many aspects. Thus, a certain learning curve is involved for a developer who wants to switch languages. Thus, additional investments in training and time will be needed if you decide to move your Android development team to Kotlin.
  • Some developers report slower compilation speed as one of the main drawbacks of Kotlin. However, the results of multiple tests are mixed: In some cases, Kotlin beats Java in compilation speed, but sometimes it is significantly slower than its predecessor.
  • While Kotlin is rapidly growing in its adoption as the first-class language for Android, it still has a small developer community. This leads to limited resources for learning the language and makes finding the answers to any questions that might arise in the process of app development difficult. For example, searching for Kotlin on StackOverflow returns just over 3,600 posts tagged with Kotlin, compared to over 1,000,000 Java-related posts.
  • As Kotlin is still relatively new to most of the developers, it might be hard to find experienced professionals in this domain. According to information on indeed.com, the number of job postings featuring Kotlin skyrocketed after the Google I/O.

kotlin-jobs-stats-on-indeed-comhttps://easternpeak.com/wp-content/uploads/2017/08/kotlin-indeed-stats-2... 250w, https://easternpeak.com/wp-content/uploads/2017/08/kotlin-indeed-stats-1... 120w, https://easternpeak.com/wp-content/uploads/2017/08/kotlin-indeed-stats-3... 300w" sizes="(max-width: 606px) 100vw, 606px" />

While many companies are currently searching for Kotlin experts, the talent gap might soon become even bigger.

Kotlin vs Java: Is It Time to Switch the Language?

As you can see, there is no easy way to answer this question. While Kotlin clearly is superior to Java in some aspects, it is still far from being perfect. If you want to give Kotlin a try, you can hire a dedicated developer or allow some of your team members to experiment with this language. While it won’t show any tangible results to the performance of your applications, or to their UI, it won’t harm them either.

All in all, we don’t see an urgent need to switch the whole tech stack just yet. We at Eastern Peak are monitoring any technology advances so that we can better provide cutting-edge solutions for our clients, and we will continue to follow Kotlin’s development closely. If you want to receive personal consultation regarding the proper technology choice for Android development, contact us now. We will look closely into the specifics of your project and find a perfect solution for your business.

The post The Pros and Cons of Kotlin Language for Android App Development appeared first on Eastern Peak.

Read the original blog entry...

More Stories By Valeriia Timokhina

Valeriia Timokhina is a blog editor and IT manager at Eastern Peak, a top-ranked custom software development company.

Latest Stories
SYS-CON Events announced today that SIGMA Corporation will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. uLaser flow inspection device from the Japanese top share to Global Standard! Then, make the best use of data to flip to next page. For more information, visit http://www.sigma-k.co.jp/en/.
Most of the time there is a lot of work involved to move to the cloud, and most of that isn't really related to AWS or Azure or Google Cloud. Before we talk about public cloud vendors and DevOps tools, there are usually several technical and non-technical challenges that are connected to it and that every company needs to solve to move to the cloud. In his session at 21st Cloud Expo, Stefano Bellasio, CEO and founder of Cloud Academy Inc., will discuss what the tools, disciplines, and cultural...
Why Federal cloud? What is in Federal Clouds and integrations? This session will identify the process and the FedRAMP initiative. But is it sufficient? What is the remedy for keeping abreast of cutting-edge technology? In his session at 21st Cloud Expo, Rasananda Behera will examine the proposed solutions: Private or public or hybrid cloud Responsible governing bodies How can we accomplish?
SYS-CON Events announced today that N3N will exhibit at SYS-CON's @ThingsExpo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. N3N’s solutions increase the effectiveness of operations and control centers, increase the value of IoT investments, and facilitate real-time operational decision making. N3N enables operations teams with a four dimensional digital “big board” that consolidates real-time live video feeds alongside IoT sensor data a...
DevOps at Cloud Expo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to w...
SYS-CON Events announced today that NetApp has been named “Bronze Sponsor” of SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. NetApp is the data authority for hybrid cloud. NetApp provides a full range of hybrid cloud data services that simplify management of applications and data across cloud and on-premises environments to accelerate digital transformation. Together with their partners, NetApp em...
Real IoT production deployments running at scale are collecting sensor data from hundreds / thousands / millions of devices. The goal is to take business-critical actions on the real-time data and find insights from stored datasets. In his session at @ThingsExpo, John Walicki, Watson IoT Developer Advocate at IBM Cloud, will provide a fast-paced developer journey that follows the IoT sensor data from generation, to edge gateway, to edge analytics, to encryption, to the IBM Bluemix cloud, to Wa...
With the rise of DevOps, containers are at the brink of becoming a pervasive technology in Enterprise IT to accelerate application delivery for the business. When it comes to adopting containers in the enterprise, security is the highest adoption barrier. Is your organization ready to address the security risks with containers for your DevOps environment? In his session at @DevOpsSummit at 21st Cloud Expo, Chris Van Tuin, Chief Technologist, NA West at Red Hat, will discuss: The top security r...
There is huge complexity in implementing a successful digital business that requires efficient on-premise and cloud back-end infrastructure, IT and Internet of Things (IoT) data, analytics, Machine Learning, Artificial Intelligence (AI) and Digital Applications. In the data center alone, there are physical and virtual infrastructures, multiple operating systems, multiple applications and new and emerging business and technological paradigms such as cloud computing and XaaS. And then there are pe...
DevOps at Cloud Expo – being held October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA – announces that its Call for Papers is open. Born out of proven success in agile development, cloud computing, and process automation, DevOps is a macro trend you cannot afford to miss. From showcase success stories from early adopters and web-scale businesses, DevOps is expanding to organizations of all sizes, including the world's largest enterprises – and delivering real r...
SYS-CON Events announced today that B2Cloud will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. B2Cloud specializes in IoT devices for preventive and predictive maintenance in any kind of equipment retrieving data like Energy consumption, working time, temperature, humidity, pressure, etc.
Your clients expect transactions to never fail, cloud access to be fast and always on, and their data to be protected - no exceptions. Hear about how Secure Service Container (SSC), an IBM-exclusive open technology, enables secure building and hosting of next-generation applications, both cloud and on-premises. SSC protects the full stack from external and insider threats, allows automatic encryption of data in-flight and at-rest, and is tamper-resistant during installation and runtime – with no...
With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend 21st Cloud Expo October 31 - November 2, 2017, at the Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY, and learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.
SYS-CON Events announced today that Massive Networks, that helps your business operate seamlessly with fast, reliable, and secure internet and network solutions, has been named "Exhibitor" of SYS-CON's 21st International Cloud Expo ®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. As a premier telecommunications provider, Massive Networks is headquartered out of Louisville, Colorado. With years of experience under their belt, their team of...
SYS-CON Events announced today that Suzuki Inc. will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Suzuki Inc. is a semiconductor-related business, including sales of consuming parts, parts repair, and maintenance for semiconductor manufacturing machines, etc. It is also a health care business providing experimental research for...