#ask What front-end technologies should we support?

Hey, community!

We are discussing the priorities of supporting various frontend platforms to build end-user apps connected to the Internet Computer.

Do you have any feedback or a wish list for this area?

For example:

  • Swift / iOS support
  • Android / Java / Kotlin support
  • Flutter support
  • React Native support
  • Better support for some Web / JS frameworks

Please, let me know what you think!

Best regards,
Mikhail Turilin
Product Manager
DFINITY foundation

5 Likes

Top 2 for me (in order) would be

  1. React-Native
  2. Swift

What do you mean by better support for web/js frameworks? I think the priority should be to make web & mobile development more approachable, which is why I listed react-native first.

Swift also has great wasm compilation tooling, meaning that it could be a full stack language for the IC (frontend & backend).

I’m curious if the DFINITY team considered Swift originally when building the IC.

@lastmjs Have you considered building Swift tooling for the IC?

Most important to me is web frontend tooling that does not assume frameworks or build tools, but is native JS that can be consumed by any framework or tooling (like not being webpack-specific as a good example). @icme I don’t do iOS development really

4 Likes

For any supported languages I would like to see:

  • Support for generating language bindings from Candid.
  • Support for generating Candid from concrete syntax.
  • Support for lowest common denominator but widely-supported features as opposed to trending frameworks.

I was thinking about this myself. Swift would make a great language for IC:

  • Predictable memory management
  • High efficiency code
  • Easier to learn than Rust
2 Likes

Swift also has first-class actors these days.

1 Like

How about providing the community with lower level tools & APIs with more flexibility so we can build better support?

In my view dfx is the biggest obstacle. if we could call the APIs programmatically (dfx-js or ic-js for example) and have more control that would unlock a ton of potential and allow the community to innovate around tooling & framework support.

2 Likes

+1 for React native and Flutter, those have great marketshare

It seems like there is an official ic-js now. Not sure when that was published…

Yep, published for the first time few months ago. It started with the rewrite of NNS-dapp.

The mono-repo now contains various libs:

  • @dfinity/nns : interfacing with Nns ledger and governance
  • @dfinity/sns : interfacing with Sns canisters
  • @dfinity/cmc : interfacing with the cycle minting canister
  • @dfinity/utils : few handy utils we use in these libs or in nns-dapp (still growing)

All these libs are published to npm and we also do so on a nightly basis to always get the last changes.

We did not publish yet examples of how to use these but that would be neat so it’s the plan.

1 Like

Yes but unfortunately it doesn’t do what I’m asking for.