Getting started with Hive app development

image.png

I've been asked quite a few times lately on how to get started developing on Hive. So here yo go, here's a brief intro to get your started.

First off, this guide is for people who want to build an application or game on Hive and not intentended to those who want to do blockchain level development.

The majority of apps and games built on Hive use Javascript or Python. I will briefly describe both of them and how to get started.


Javascript

Javascript is a very popular language and primarily the only language you will use in a browser. Even if you choose to go the Python route, you will likely need to know some Javascript if you want to build a user interface (UI) to your application or game.

There are primarily two directions you can go in with Javascript, NodeJS for backend development and scripting and Javascript for front end development, usually using a framework.

If you want to build an application that works in a browser you will likely want to use React or VueJS web frameworks.

Javascript is more difficult and verbose than Python but specializes in asyncronous code, code that runs while your main code continues running. Asyncronous coding is a lot more complicated to code and understand but potentially can create faster code.

Javascript traditionally executes a lot faster than Python but many Python libraries have been built in C to make up for this.

If you want to learn Javascript, I recommend checking out this 2 hour crash course. If you want a little slower pace, check out this 7 hour course.

You will most likely need NodeJS to start using Javascript even if you plan on only doing front end development. Instead of downloading NodeJS directly, I recommend you use node version manager to install the latest version of node nvm. This will allow you to easily switch versions and upgrade your install of NodeJS.

If you want to do front end development, I would recommend VueJS, but many older apps on Hive are done in React, most of the newer ones have moved to VueJS.

To work with the Hive blockchain in Javascript you will need to use HiveJS, there are other libraries for Hive in Javascript but HiveJS is the most supported and maintained.


Python

Python is considered the most popular language in the world and is considerably easier to work with than Javascript. If you are going to do front end development your choices are limited with Python, although there is Django, you will still need Javascript for some parts of your site.

Python is easy to learn and is what I would recommend to most people (especially children) to learn first. Python while easy to use is extremely powerful and has an amazing collection of packages that support it. In fact, nothing touches Python for working with data science and machine learning. While Python is considered "slow", speed rarely becomes a problem in most applications, and packages that require better performance likely have been written in C to greatly improve the performance to be even faster than NodeJS.

If you want to do anything with Machine Learning or Deep Learning, Python without a doubt is your first choice.

If you want to build a web application or game with Python, I recommend checking out Django. You will still need to learn Javascript for some interaction and layout development. Django is a very powerful framework for development applications but you still can use a web framework like VueJS while using Django.

If you want to build an API for the backend of your application, have a look at Flask which is similar to Django but much simplier and ideal for building API interfaces.

To learn Python, I recommend this 1 hour crash course or a slower paced course like this 5 hour Learn Python Course.

To work with Hive in Python, you will want to use Beem, it is the most supported and maintained Python Hive library. Beem while doesn't get maintained as much these days, is the best library on the Hive blockchain as it includes many helper functions that do a lot of the leg work.


It is not uncommon to use Javascript for your front end development and use Python for your backend development or even just for some scripts that work with your existing backend. There is no harm learning either of these languages and neither is the wrong choice.

With all new developers, I recommend learning the language you want to use and then do a few tutorials. I don't recommend spending too much time doing tutorials as you will end up in tutorial hell where you just do tutorials but have no idea how to build something. As soon as you possible can, think of a project to build and build it. If you need to, break it down into smaller pieces. All good developers will break larger problems down to smaller components.

If you have any questions on your journey, check out HiveDevs Discord where you will find other developers at various skill levels that may be able to help you. Also check out Stackoverflow if you have a question you cannot solve.

Always try to solve your own problems, that is the only way you will learn but if you find you are wasting a lot of your time, seek help. Just remember to phrase your question in a way that most directly relates to your problem and always try to minimize the code you provide as an example to the smallest amount of code to represent your problem. No one wants to dig through your application to find the problem you are running into.

I highly recommend using VS Code as your editor. It is the only thing Microsoft has done right in the last 10 years and is an amazing free editor which will save you hundreds if not thousands of hours of work in your development career.

H2
H3
H4
3 columns
2 columns
1 column
53 Comments
Ecency