# Developer guide
Waves provides client libraries to work with the blockchain 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.
# Community
Get answers to your questions in the Waves development group in Telegram.
# GitHub
https://github.com/wavesplatform