• 0 Posts
  • 48 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle


  • Kotlin is a really nice language with plenty of users, good tooling support, gets rid of a lot of the boilerplate that older languages have, and it instills many good practices early on (most variables are immutable unless specified otherwise, types are not nullable by default unless specified otherwise, etc)

    But to get the most “bang for your buck” early on, you can’t beat JavaScript (with TypeScript to help you make sense of your codebase as it keeps changing and growing).

    You will probably want to develop stuff that has some user interface and you’ll want to show it to people, and there is no better platform for that than the web. And JS is by far the most supported language on the web.

    And the browser devtools are right there, an indispensable tool.










  • But why bother with creating a new language, and duplicating all the features your language already has, in a weird way?

    If I want a list of UI items based on an array of some data, I can just do items.map(item => 〈Item key={item.id} item={item} /〉), using the normal map function that’s already part of the language.

    Or I can use a function, e.g. items.map(item => renderItem(item, otherData)) etc.

    JSX itself is a very thin layer that translates to normal function calls.







  • You need to look at this from a practical standpoint.

    The vast majority of phone apps are not local-only. They are merely the frontend to services provided by some company - e.g. a Reddit app is really about Reddit the service, a food delivery app is about the service, not the locally running code, etc.

    Apple controls what users can and cannot install on devices made by them, but the web and things like PWA are an alternative that would be viable for some portion of these.

    You can make a web app that can be added as an icon on the homescreen, can access the camera, location, notifications, storage, authentication (e.g. require fingerprint), etc. It still can’t do everything native apps can do, but it would be good enough for a good portion of popular apps.

    But in China, that is not really possible without the government’s approval either, because China requires the same kind of registration and an ICP license for websites, otherwise things will get blocked. Which, even if you could install anything you want on a device, would effectively limit you to purely local-only apps anyway.