from Hacker News

Ask HN: App development in 2023 for C++ developer?

by pratchett on 6/24/23, 11:35 PM with 2 comments

I have 10+ years of high-performance C++ development for distributed systems/databases/operating systems but have zero experience with web/app development. I wanted to try my hand at app development to prototype a few ideas. I looked at the landscape and I am struggling with the following questions:

1. Native apps vs a PWA (web app)- what is the recommendation these days? 2. If I want to build native apps, is there a stack that will make it easy for cross-platform development? React Native seems to be a popular suggestion online but it is only for business logic not UI?

3. Are there any useful resources/stacks suited for someone familiar with C++ development?

  • by chiefsucker on 6/25/23, 9:17 AM

    Disclaimer: I am an application developer, and one of the maintainers of the Drogon C++ web framework.

    C++ & apps don’t fit well together technologically these days.

    Android? Go Kotlin.

    iPhone? Go Swift.

    Cross platform? Meh, kind of dislike middleware as they always lag behind the vendor. This was the case three decades ago as it is today.

    Usually you are far better off by defining a REST API as your border between platforms, then just use whatever easy (de)serialization techniques the language will give you.

    Personally I have a cross-platform C++ stack built on top of Drogon that I can use on multiple platforms, then it’s usually a native UI layer (Kotlin + Compose on Android, Swift + SwiftUI on Apple platforms) on top of the cross-platform layer. This way business layer code can be shared across every platform while only the UI needs to be adapted to its host OS.

    Drogon website: https://drogon.org

  • by atentaten on 6/25/23, 1:23 AM

    I’ve had good developer experiences with Flutter and C++ for cross platform dev. I’m not a C++ developer, but working with Flutter’s FFI and getting native code running made me want to be a C++ programmer because it opened up my eyes to the possibilities of high performance solutions I could build on mobile.