Can non-Javascript web applications be built on top of IPFS?

Hello, I am new to IPFS, and I am still exploring its power and potential, especially for creating data science solutions. I was wondering whether web applications written in other languages besides javascript can be built on top of IPFS. For example, can an RShiny application be built on top of IPFS?

For data science checkout https://holium.org/

As for language used, it can be anything just call a local IPFS node Http API.

I’ve built a web app in rust and call IPFS via http.

2 Likes

Thanks. But can one still call the api even when the local node is offline?

Hi! As I can see, a Shiny app sends XHR requests to the configured server, so it is a client-server app. You can’t run client-server apps with the present IPFS infrastructure. That’s a well known “dynamic website on IPFS problem”. I’m inviting you to discuss a possible solution to it — see the second link below.

1 Like

You can’t call the API if the IFPS daemon is offline.

2 Likes

Technically you can, if you don’t care about the decentralized internet you don’t have to use it, just provide a server that act as your ipfs api, for starter, run ipfs in a server, then use apche or nginx to proxy incoming request to ipfs that’s running.
Now you can just call that public api regardless of whether clients even has ipfs running for them.
then you can scale it by putting this proxy in a load balencer

1 Like

I followed this Conway’s Game of Life tutorial, which is using Rust+WebAssembly. I uploaded it to IPFS and it works: IPFS version. A lot of languages can be ported to WebAssembly, but you can’t have a classical backend with IPFS, as I understand it.

I also did this tutorial, which is a tutorial about PouchDB, and uploaded the front-end to IPFS. (the database is NOT on IPFS). Here I experienced CORS errors, because the IPFS gateway is using SSL, so I had to solve that the database connection is also going through https://. I think this https problem I had before. Here is live version: https://ipfs.io/ipfs/QmQw9vJrUhaJBHQJvEwMfT6cqURxzpwQvo1GNnvVjsNZXo/

1 Like