# announcements


07/25/2019, 5:32 PM
I have some questions and need some advice and help. I generally prefer lower level development but I'm attempting higher level development with this next project. I've taken a 20 hour kotlin course and I'm 6 months into IntelliJ development, I've also learned some gradle (kts), multiproject, native, kotlin-styled, kotlin exposed, spring-boot, ktor... I've spent about a month now looking at these technologies and implementing simple programs with them, I still have no clue what I should use and need some input. My application will have a linux web server with js/html and REST, so there will be browser interface but there will also need to be IOS and android apps. I generally prefer to avoid JVM, but Kotlin Native looks scary, unready and lacking in packages. So I've sort of started down the road of JVM/spring boot on the server side. But then I read about kovert, ktor and kotlin-styled. I really like the idea of using JS for CSS, and I want to write all this in kotlin as much as possible, sharing code as much as possible (ios and android particularly). It will go in the app stores. I've used jxbrowser in the past, would this work for both apps? In that way I wouldn't have to write platform specific code for those two. I know angular well, I've used react a little... kotlin-react looks interesting... I like traditional angular development where things are segregated well with separate MVC-ish files, but kotlin react seems to have no templates at all correct (not sure about developing that way, never done it, does it save time)? While at the same time spring-boots way of doing things seems to put all the templates in a resources/templates folder which I don't like. My last huge app was written with a python backend, fully customized and tailored folder structure, no IDE. I'm just having a really tough time making these initial decisions... they seem arbitrary-ish... there are too many tools... like spring boot appears to allow any template engine and there are like 20, so which is best for this app? I really hate the modern ecosystem where the most important questions, overall coding conventions, seems like the most arbitrary decisions. I'm a computer/electrical engineer, I'm very good at selecting the best thing for a give application, but I'm failing at this... There is a MYSQL DB on the server side and I'm using Rome for RSS feed stuff.

Stephan Schroeder

07/26/2019, 9:31 AM
you don’t need an optimal decision, you simply need a workable decision. You’re new to the ecosystem, so don’t overload yourself (I’d drop spring for now)! Pick a simple starting point, e.g. one of our smaller backend services simply uses ktor + koin kor dependency injection. Use kotlin.test and mockk for unittesting. See how far you come with this basic setup, it might actually be enough! Don’t fall victim to analysis paralysis 😉
👍 1