Alexa Programming Languages and Tools

Building Alexa Skills means you have a Voice User Interface (VUI) and the fulfilling programming logic. For simplicity think of the frontend for the VUI and the backend for the programming logic. There are several ways doing the fulfillment of an Alexa Skill. Often developer use Amazon Web Services (AWS) Lambda which is a perfect fit: Simply enter the Lambda’s ARN (Amazon Resource Name) inside the Skill’s configuration. AWS Lambda supports code written in Node.js (JavaScript), Java, Python, C#, or Go.

There is also an alternative approach: You can enter a SSL/TLS secured https-address as the endpoint for other technologies and programming languages independently from AWS. Under the hood, there is only JSON via REST going back and forth. Thus every technology supporting that might work. In case you prefer your own infrastructure to AWS Lambda, please make sure to secure everything accordingly and always provide valid responses as described here.

Dealing with Java Script Notification Objects (JSON) might be tedious. Therefore, it is good to have some helpers out there, which can make your life easier – despite the preferred technology. Here is a brief list for your convenience:

JavaScript / Node.js

Alexa Skills Kit SDK for JavaScript / Node.js (Lambda)
Skillinator (prototype Alexa Skills for Alexa Skills Kit SDK for JavaScript / Node.js (Lambda))
Alexia (framework for creating Skills using Node.js)
alexa-app (Node module to simplify the development of Alexa Skills)
Several libraries used to build both custom Skills and smart home Skills
Creating SSML (Speech Synthesis Markup Language) using the builder pattern
Jovo (Node.js based development framework for voice apps)

Java / Kotlin

Java Alexa Skills Kit SDK (Lambda)
Alexa States SDK for Java (extends the Java Alexa Skills Kit SDK)
Aleksa (framework for writing Skills in Kotlin)

Python

Flask-Ask
Python Alexa

C# / .NET

Alexa Skills SDK for .NET
AlexaSkillsKit.NET (same object model as Java Alexa Skills Kit SDK)

PHP

Voice Skill Management System (Skeleton)
PHP Library for Amazon Alexa Skills
Amazon Alexa PHP Library
AlexaApp (classes to make creating Skills with Laravel and Lumen)
Alexa Custom Skill for Patami Framework

Go

Alexa SDK for native Go on AWS Lambda

Command Line Tools (CLI)

Alexa Skills Kit Command Line Interface (ASK CLI)
Bespoken CLI (Develop, Debug, and Test Live on Your Laptop)

Designing / Protoyping / Platforms

Cognigy (Voice and Chat AI without any coding)
Sayspring (Voice Prototypes for Amazon Alexa)
Storyline (Create voice apps without coding)
PullString (Design, Prototype, and Publish Voice Apps)
Alpine.ai (Voice-enabled applications)
slotinaotr.io (easy batch-input of slots)
BotTalk (Create Complex Alexa Skills with simple markup language)
VoiceX (Low Fidelity Prototyping Tool)

Voice, SSML, and Polly

Talestreamer (using rich, multilayered audio)
polly-s3 (renders text-to-speech for Alexa using AWS Polly)

Testing / Virtual Alexa Devices

Echosim.io (Alexa Skill Testing Tool)
Reverb (works in your browser, or on your tablet or phone)

Analytics for Voice

Chatbase
dashbot

Anything missing? Feel free to send me suggestions to complete the list, please!

One thought on “Alexa Programming Languages and Tools

Comments are closed.