Ask HN: Best method to build distributed web apps in 2016? - philippnagel
======
niftich
Please provide more context. What's is distributed in your scheme: the data
and/or the server-side computation? Are you opposed to performing complex
operations solely on the client?

~~~
philippnagel
It wont be very complex in terms of computing. Storage and bandwidth will be
an issue because it's basically an image sharing site on steroids (various
media types (gifs, short videos, text) interactive posts, some real-time
twitter like feed & comments).

I've had a look at Diaspora [0] and ViralJS [1], a P2P CDN and I think I might
go down that route.

Do you have any suggestions?

0: [https://diasporafoundation.org](https://diasporafoundation.org)

1:
[https://github.com/PixelsCommander/ViralJS](https://github.com/PixelsCommander/ViralJS)

~~~
niftich
For lack of a better term, this is an 'emerging' field, so I don't know if
best practices (in terms of architecture) apply (yet).

In addition to Diaspora, have a look at GitTorrent [1], which uses the
BitTorrent DHT for data storage, git as a data interface, and the bitcoin
blockchain for verified identities. You can also draw inspiration from IFPS
[2]. There is also a curated list [3] of resources or technologies useable to
build p2p systems, including these and many other projects and libraries.

[1] [https://github.com/cjb/GitTorrent](https://github.com/cjb/GitTorrent)

[2] [https://ipfs.io/](https://ipfs.io/)

[3] [https://github.com/kgryte/awesome-peer-to-
peer](https://github.com/kgryte/awesome-peer-to-peer)

~~~
philippnagel
Thanks!

------
xchaotic
It sounds like the wrong question or a solution looking for a problem. Are you
already hitting traffic that can't be handled by big servers? Do you actually
have a problem?

~~~
philippnagel
No not at all. However I want to build a specific product and would like to
learn something new while doing so.

------
l4xecz
I may be misunderstanding your question, but perhaps MaidSafe could be of
interest to you.

------
anfroid555
Erlang

~~~
qaq
or Elixir or anything that targets BEAM :)

------
LarryMade2
Depends on the size and function...

