# Developer guide
Waves provides client libraries to work with the platform from your applications.
Also, you can create decentralized applications (dApps) on the blockchain using Ride language. The dApps functions can be called from applications using client libraries.
# Client libraries
Send transactions and read blockchain data from your applications on Python, Java, C#, Swift, Kotlin.
See the list of supported programming languages on the Client libraries page.
# Development of decentralised applications
Start creating decentralised applications following the steps:
- View the Ride language presentation on the official product page.
- Learn the language syntax in the introductory article. Take a look at the examples of Ride scripts.
- The process of developing a decentralized application is explained in the article How to Build, Deploy and Test a Waves Ride dApp on Medium. A step-by-step example of creating a simple dApp is shown on the page Simple voting of the Waves blockchain.
- To learn more about Ride and the infrastructure for creating decentralised applications, take the Mastering Web3 with Waves course. After completing the course, you will receive a certificate of successful completion of the course.
# Tools for programming in Ride
- Visual Studio Code with Ride plugin
- Waves IDE — online application for developing and deploying applications on the blockchain.
- Surfboard — command-line interface for testing and deploying applications on the blockchain.
# Waves grants
Waves supports developers with grants.
Find out the details and submit your application on the Waves Labs website.
Place your Waves project and raise funds for it on the crowdfunding platform Ventuary DAO.
After you become a member of the DAO, you will be able to create projects, vote and invite new users to the Ventuary DAO platform.
Get answers to your questions in the Waves development group in Telegram.
# Waves platform on GitHub
Waves platform page on GitHub — https://github.com/wavesplatform.