Blockchain App Development Roadmap
Published: 2022-11-24 06:22:15


![Photo by [Shubham Dhage](https://unsplash.com/@theshubhamdhage?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com?utm_source=medium&utm_medium=referral)](https://cdn-images-1.medium.com/max/7680/0*gHQ0nuuQ2HLYiVgh)


## Introduction

## what is Blockchain

Blockchain is a method of saving information that makes it impossible or difficult for anyone to be changed, hacked, or manipulated. A blockchain is a distributed ledger that copies the ledger and sends that across the network of computers participating in the blockchain.

There are two types of Blockchain developers

* Core Developers

* App Developers

### Core Developers

These developers focus on the architecture of a blockchain system. They design the protocols used by the network. They are the supervisor of the blockchain they take the most vital decisions related to the blockchain.

### App developers

These developers use existing blockchains and develop apps that use the blockchain as their back end. These developers are similar to web developers who use create some web applications.

These app developers make decentralized apps also known as Dapps. They are responsible for the front end as well as the back end of the app.

## Things you need to know before learning blockchain app development

### Languages to learn

* Solidity

* Javascript

### Solidity

Solidity is a statically typed object-oriented programing language that is specially designed by the Ethereum network team for building smart contracts.
It is used to create smart contracts that implement business logic.

Solidity is the most famous language for developing smart contracts.

you can learn solidity from solidity [documentation](https://docs.soliditylang.org/en/v0.8.17/) and if you are not comfortable with using reading documentation and figuring out things on your own then you can refer to the [dapp university](https://www.youtube.com/c/DappUniversity) youtube channel.

### Javascript

Javascript is one of the most popular programming languages. You will be using javascript front-end frameworks to build the UI part of the application. To use Node.js and other libraries like Web3.js. You will be using javascript to connect the back-end part of the app i.e blockchain to the front-end. In simple words, you will be using it to put life into the app.

### Tools you need

### Truffle

Truffle provides the development and testing environment using the Ethereum virtual machine (EVM). You will be using truffle to make smart contracts as the truffle slogan says “Smart contracts made sweeter”. Truffle comes with great features that will help you build dapps.

### Ganache

Ganache is a tool used to set up your own local Ethereum blockchain that you can use to deploy your apps and test them. Ganache give 10 Ethereum wallets with some Ethereum that you can use to test your apps and don’t get happy here the Ethereum you get has no value it is only for testing purpose.

### Metamask

Metamask is a cryptocurrency wallet that enables its users to store ethers into it. Your web browser is incapable of communicating with dapps. The interaction between dapps happens in the form of transactions and Metamask helps us to do that. Metamask is used to interact with dapps.

These are the tools you will be needing to start to learn and build apps, to summarise it you need to learn solidity and javascript for the programming part, you going to need truffle suite and Metamask to test out the smart contract you have written and the dapp.