What’s New for Bandwidth Developers

28 Apr

Bandwidth, at it’s heart, is a software development company. What many see as pure telecom is driven by smart engineers creating great products. Catapult, one of Bandwidth’s communications APIs allows pretty much anyone to quickly and easily add voice/text messaging to their app.

As part of our DNA, we have been working hard to create a better experience for our developers. We keep track of trends and common customer use-cases to increase developer productivity and decrease time to ‘first-hello-world’. Here are a few highlights over the past few months detailing what’s new for our developers!

SDKs

Software Develop Kit (SDK for short) allow us to abstract the common patterns for each programming language. This, in-turn, increases our developers efficiency by allowing them to get their feet wet almost immediately. As a software company, we are constantly hearing from our developers on how ArnoldC is going to be the next big thing. Well, we have created some Alpha-level SDKs for some of up-and-coming programming languages.

GoLang — High concurrency by Google

go-gopher3

Go (a.k.a., Golang) is a programming language first developed at Google. It is a statically-typed language with syntax loosely derived from C, but with additional features such as garbage collection, type safety, some dynamic-typing capabilities, additional built-in types (e.g., variable-length arrays and key-value maps), and a large standard library. *Wiki

Go has been around for a while now, but is really starting to gain major traction. Companies like Docker, Dropbox, and Uber have all embraced Go somewhere in their stack. After hearing about a few major programmers applaud Go, we hopped on the bandwagon and started our own SDK.

Catapult API in Go

Rust —  Systems language guaranteeing thread safety

logo-v1

Rust is a general-purpose, multi-paradigm, compiled programming language developed by Mozilla Research. It is designed to be a “safe, concurrent, practical language”, supporting pure-functional, imperative-procedural, and object-oriented styles. *Wiki

Anytime a major company releases their own programming language, people listen. We did, and discovered that Rust is meant to be incredibly fast while maintaining memory safety. Making it great for burning through all sorts of I/O. Our Rust SDK was started as part of our Sabbatical Program and is approaching an official release later this year!

Rust SDK for Communications API

Elixir — Pure functions From Erlang

1481354

Elixir is a functional, concurrent, general-purpose programming language that runs on the Erlang virtual machine (BEAM). Elixir builds on top of Erlang to provide distributed, fault-tolerant, soft real-time, non-stop applications but also extends it to support metaprogramming with macros and polymorphism via protocols. *Wiki

Erlang has a history with telecom, in fact an Erlang is a unit of telecommunications traffic measurement. So, it makes sense that as a company based in telecom we would want to explore Elixir. Our Elixir SDK was also started as part of our Sabbatical Program and is approaching an official release later this year!

An Elixir client library for the Bandwidth Application Platform

NodeJS — Javascript for the backend

1436439824nodejs-logo

Node.js is an open-source, cross-platform runtime environment for developing server-side Web applications. Although Node.js is not a JavaScript framework, many of its basic modules are written in JavaScript, and developers can write new modules in JavaScript. The runtime environment interprets JavaScript using Google’s V8 JavaScript engine. *Wiki

We have had a NodeSDK for a while now. In fact, it’s one of our most popular SDKs for internal development. After using the SDK, we have taken our lessons learned and various gripes and released a v2.x alpha. Take a look at the new changes below! Look for an official release in 2nd quarter of 2016!

NodeJS Client library for Bandwidth App Platform

Bandwidth Examples

We have seen all sorts of use-cases revolving around Catapult. In an effort to provide our developers looking for common use-cases we put together some new demo-applications as a proof-of-concept and jumping off point!

Here are just a few examples. For a full list head over to our example Github Page.

Example Projects for Bandwidth.com Software

Contact Calling with C#

A fairly simple application that lets user enter their contacts, then enter their phone number. All the user needs to do is click ‘call’ and they’re connected to the contact.

This examples shows how to create outbound calls from a list of contacts

Phone Number Verification with C# and NodeJS

Exactly what it sounds like, enter a phone number get a call/text with a code. Put that code into the system to verify you are who you are.

Two examples for C# and NodeJS

SMS Chat and WebRTC with C# and NodeJS

Basically a phone in your browser. Add your contacts then text/call them from your browser using Angular2.0 and WebRTC.

Three examples

SMS AutoResponder and BXML with NodeJS

Incredibly simple demo how to auto-respond to a text message with a predefined message. It also automatically plays an audio file to the caller.

text a number, get a sweet heart phrase

What to look forward to!

Keep your eyes out for a new bwdemos.com site! We’re rolling up some of our most popular demos to an easy to use one-stop-shop. Think app store for Bandwidth applications!

We’re constantly looking for new ideas and products to keep a pulse on emerging trends. As part of this effort, please drop us a line at openapi@bandwidth.com with any suggestions/recommendations.

Want to signup for Catapult? Click here to create your account!

Dan Tolbert
Dan Tolbert
dtolbert@bandwidth.com

Computer Nerd. Beer Snob. Music Enthusiast. Idea Machine. Developer Evangelist for Bandwidth.com. Telecommunications Expert.

No Comments

Post A Comment