Why blockchain apps are the next big thing, and how you can get started today.
In the 2000s, web development was a lucrative skill to have; but now, websites are trivial to make. In the 2010s, knowing how to make apps could’ve turned you a pretty penny — Apple used to yell ‘There’s an app for that!’ back in the day. Now though, ‘There’s 100 apps for that!’ just doesn’t seem to have the same allure.
Artificial Intelligence was on track to be the hallmark technology of the 2020s, however the technology has not progressed as fast as imagined. While some applications such as building recommendation systems based on Machine learning have become mainstream, true artificial intelligence, for example where a computer can read a book and answer questions on it, is still largely in the research phase.
Blockchain technology, on the other hand, has progressed fast. Entrepreneurs can now build sophisticated decentralized applications in a matter of weeks to months with a blockchain development platform such as Reach, whereas this would have been much harder even 2–3 years ago.
Dapps and their usecases
A decentralized application (dApp), to put it simply, is an application or program that runs on a blockchain. Instead of backend code being hosted on a traditional server (e.g. AWS, godaddy hosting, etc), it’s hosted by a peer-to-peer decentralized network, and the code is executed by virtual machines.
The promise that dApps offer is transparency, trust, reliability and lower costs. Transparency, because it’s easy for anyone to see a record of what’s happened. Trust, because the rules (aka contracts) are known and guaranteed before hand. Reliability, because blockchains have great uptime due to their distributed nature. And lower costs, because intermediaries and/or inefficient means of transactions are reduced.
Applications recently developed on these platforms have generated multi-million to billion dollar valuations based on current or future promise (although there are a few that are purely speculative).
These dApps have the potential to transform aspects of many traditional industries that exist today, for example:
• Content creators can sell their content directly to end users
• People can donate directly to their causes, cutting out overhead and/or corruption
• Lower interest rates on loans
• Better Insurance prices
• Accurate and verifiable healthcare and education records
• Fair casino/poker type games
In fact, the use cases for dApps are really only limited by your imagination. Check out Crypto Kitties to see what I mean!
Crypto-currencies have generated a lot of the buzz in the industry, but more and more of the people introduced to the world of blockchain via crypto-currencies are getting very excited about the underlying tech and its applications. This is what makes it a perfect time to start developing dApps: a first mover advantage. Sure, there may already be some competitors, but because user adoption is still relatively low, it gives early entrants an opportunity to create a great product to compete as adoption increases, effectively neutralizing any current competitor’s first mover advantages.
Developing your first dApp
Currently, one of the best ways to get started with dApp development is on the Reach blockchain development platform. Reach is not actually a blockchain itself, but it compiles the code you write to run on blockchains such as Algorand or Ethereum.
Algorand is, in my opinion, the most technically sound blockchain that currently exists. Ethereum, because of its size and first mover advantage, is great for dApps that need to integrate with the large number of technologies already running on it.
Algorand natively uses TEAL/PyTEAL, and Ethereum uses Solidity. These languages inherently have a learning curve due to being a new technology. However, Reach allows you to write in Javascript, and abstracts away some of the lower level implementation details to allow the developer to focus on his or her business logic.
But here’s the kicker: a dApp developed on Reach can still run on either blockchain. In fact, as I understand it, even if a blockchain was not yet ready when you developed your dApp, (for example, Cardano), you would not have to learn a new language (Haskell 😰) to redevelop your app if you wanted to move blockchains— The team would simply have to add support for it and you would change a couple lines of code.
Another benefit to developing on Reach is that it eliminates many of the errors that may be overlooked with native blockchain languages. Errors such as ensuring your program terminates appropriately or has the appropriate funds to fulfill contracts. These types of errors in dApps, if not caught, could expose bugs that can have serious security and/or financial consequences.
Furthermore, explicitly adding assert statements in the code’s regular flow will conduct a mathematical proof at compile time that the statement always evaluates to true. It may take some reading and/or practice to understand what is happening if you never used a language that uses assert statements like this, but once you get it, you realize it’s quite awesome.
To get started, I highly recommend walking through their Rock, Paper Scissor betting game tutorial. For more dApp ideas, or to just practice, check out their workshop section. With a recent $12 million dollar cash infusion, the Reach team is highly receptive to feedback and direction on what the community wants, or to help with your dApp development, so they are encouraging developers to reach out to them (no pun intended) on their discord channel.