Why Steemit Is Awesome For Developers

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@lantto·
0.000 HBD
Why Steemit Is Awesome For Developers
Imagine if Facebook had an open API where everything happening was completely transparent. Or if Twitter provided a real-time firehose feed to everyone, without any restrictions. It would be the dream for developers.

With Steemit this is not only reality, it's an integral part of what makes the platform run. All posts and actions are stored on the decentralized Steem blockchain. 

https://www.steemimg.com/images/2016/08/10/steemit_codea3567.png

> Steem is a public utility – especially for entrepreneuers. Because it’s a blockchain – and an advanced blockchain with 3 second block times, storage for posts, votes, comments, profiles and follows – it’s an open databse for entrepreneuers to tap into. Whether they would like to build their own social media application or build services that support the apps that have already appeared, the opportunities are unrestricting and we’re beginning to see many entrepreneurs take advantage. - @ned [[source](http://coremedia.info/index.php/blockchain-news/item/265-steemit-interview-with-it-s-ceo-and-co-founder-ned-scott/265-steemit-interview-with-it-s-ceo-and-co-founder-ned-scott)]

## Open and transparent ##
The Steem blockchain is the database of Steemit. Whether you read a post, make a comment or upvote a story the actions go through it. Since the blockchain is "hosted" on decentralized nodes you can tap into it and see all events in real-time. 

The [steemit.com](https://steemit.com) website doesn't have any special privileges or access to hidden data. In theory you could build your own front-end which does the exact same things. I recommend you take a look at the Network tab in your browser and see what calls to the blockchain API is happening as your browse around.

## Unrestricted access ##
Listening to the blockchain doesn't require any type of authentication. You just jack on your node and start receiving events. This means there's no-one controlling your access and you don't have to worry about breaking any rules or building something that violates some Terms and Conditions. If you have an idea you can just build it.

## Available forever ##
A common fear for developers depending on third-party APIs is that the API will be shut down or confined. We've seen a lot of big services limiting their APIs and completely destroying businesses in a trice. You're always at the hands of the API provider.

Steem's decentralized nature and blockchain technology make sure this will never be the case. Hard forks can change the algorithm but unless the whole blockchain is compromised there's no risk of limitations ever happening.

## Free of charge ##
You don't need to pay anything to access the data. You don't need to worry about quotas. It's completely free and at your disposal.

# Building Steemit applications #
The Steemit developer community is already thriving and we're seeing amazing stuff being released every day. Getting started is extremely easy and the barrier of entry low.

### Accessing the blockchain ###
The most common way to access the blockchain is by using any of the public APIs people are providing, e.g.:
* [Steem API](https://steemit.com/steemjs/@fabien/steem-api-now-released) (REST API by @fabien)
* [steem.ws](https://steemit.com/steemws/@jesta/steem-ws-the-public-steem-api-cluster) (WebSocket API by @xeroc and @jesta)

Both of these can be accessed directly from the client's web browser, which means you don't even need your own backend when building web applications.

Another popular way of building applications is using @xeroc's [Piston tool/library](http://piston.readthedocs.io/).

### Setting up your own node ###
In case you don't want to be dependent on a middleman you can quite easily set up your own node and API. You need your own server but it doesn't require much configuration and there are several good guides:
* [Building a high availability steemd node for web apis](https://steemit.com/steem/@jesta/building-a-high-availability-steemd-node-for-web-apis) by @jesta
* [Running your own node](http://piston.readthedocs.io/en/develop/public-api.html#running-your-own-node) by @xeroc

# Discovering apps #
@roelandp has a curated list of tools at [SteemTools.com](https://steemit.com/steemtools/@roelandp/steemtools-com-registered-over-50-third-party-tools-for-steemit-as-of-today-updates) and a lot of new projects are being posted in the [#steemtools tag](https://steemit.com/active/steemtools). Be sure to add yours!

<br>
<hr>

I love developing Steemit apps and I'm sure there are even more benefits than the ones I've listed above. Let me know in the comments if you have another good argument as to why Steem is an awesome developer platform.

# Plug #
[Steemroll.io](http://steemroll.io) is an umbrella site for my own Steemit projects such as:
* [Live Dashboard](https://steemit.com/steemit/@lantto/steemroll-io-dashboard-steemit-live-numbers)
* [Real-time Comments Feed](https://steemit.com/steem/@lantto/steemroll-io-realtime-feed-of-steemit-comments)

Give me a shout if you have any feedback or suggestions!
👍 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,