> Hey All, silly newbie question here: Would Ko...
# announcements
w
Hey All, silly newbie question here:
Would Kotlin be a good choice for developing an app that is essentially performing calculator and timer functions against data entries and automatic updates? ## App Basics • Mobile App: (IOS & Android, preferably) •
v1
 isn't expected to be much more than form pages for manual data entry and then a fairly simple algorithm against said data to produce a suggested number based on the input. During these events it will also kick off a timer to track the time since the input for later calculations. My 
v1
 architecture will likely be locally stored data (haven't decided on database type), which can be copied/saved to cloud storage providers (e.g., Google Drive, Box, OneDrive, etc.). The data needs to be encrypted for privacy. I'd like to collect anonymous usage statistics with zero private information and have that sent back to a web service that I intend to write—haven't decided on an event queue/bus service yet but will likely use something opensource initially. I ask because I believe a more native language would probably perform faster calculations and more reliable timers. Which is something I believe will become very important with later feature releases that are using more algorithms, and potentially AI/ML. (edited)
b
Native != faster. Take kotlin itself for example, kotlin/native is nowhere near as fast as kotlin/jvm in terms of overall throughput at the moment.
n
Not always, but the fastest languages are native, and well written code in C/C++/Rust will tend to outperform pretty much anything, in most cases. That said there's nowhere near enough information to answer the question.
if the calculations are relatively separate of a lot of other logic, you could always start with kotlin, and then later on having a separate process that does the calculations and communicates with the main process
c
Kotlin is particularly-well suited for building out full-stack application, in a way that most other languages aren’t, because of its approach to multiplatform development. By compiling and interop-ing with the native SDKs/APIs for each intended target, you get the benefits of writing less code, but the flexibility to use libraries special to each platform, if needed. For example, Kotlin is perfectly capable of writing a full-stack application with Android, iOS, web, and desktop clients, and a server backend (VPS, containerized, or serverless). All the models for communicating between these can be written once, much of the business logic can be shared, but you get to write the UIs natively for each so you don’t compromise on each client’s look-and-feel or OS features. However, it should be noted that Kotlin multiplatform is still in its early stages, and it’s far from “optimized” for any targets except JVM/Android. And the tooling is also particularly tricky, especially with iOS. So while there are a lot of benefits and has unprecedented potential in the long-term, in its current state it is far from being a “silver bullet”, and depending on the strengths and backgrounds of your team members, it may ultimately be better to only use Kotlin where it’s best for now: servers and Android.
w
I sincerely appreciate your responses. Quite a bit of useful info contained in both.