3 Open-Source Solutions for Integrating Your Apps
In this post, we discuss three open-source solutions for developers that can help meet the challenges of modern integration.
Join the DZone community and get the full member experience.Join For Free
As a developer, you’re often looking for open-source integrations that work well with new projects you’re working on. These integrations give you the power to meet new demands and design programs with an array of functionality that wasn't possible years ago.
You want a unique app or online tool that users rave about. The more people who use it, the more valuable it becomes.
For instance, consider how popular social media apps have become. Their popularity has made them valuable. It's a phenomenon known as net externality, which is a great marketing tool for brands and a great piece of job security for developers.
As you're probably looking for flexible integrations to work with, here are a few to consider:
Zapier allows users to connect apps that they use every day. The idea is to automate processes between two apps. Here are a few examples:
When a new blog post is published you can trigger a tweet to promote the article to your followers.
You can prompt a Trello card to become a Google Calendar event.
When the contact-finding tool finds a customer's email online, it can automatically flow into your MailChimp account.
You can set up every Gmail attachment that arrives in your inbox to automatically go to your Dropbox account.
The connection between two apps is called a "zap." As you can see, there are a lot of different zap possibilities. The integration works on an "if that, then this" workflow. A trigger, like an attachment arriving in your Gmail inbox, sets an action in motion, which in this case is to send the attachment to Dropbox.
Zapier is integrated with 500+ web and mobile applications, and it's growing every day. Its ability to connect with so many different applications is very appealing to developers, which is why so many gravitate to it. But, is it right for you? There are a few things you should consider.
For starters, developing an app or a tool with Zapier is free through the use of the Zapier Development Platform.
To get started, determine what you want to zap and whether you want it to be private or global.
A private app has to go through planning and development, where a global one needs to go through a full approval process from Zapier.
This obviously affects your API, as Zapier needs certain access permissions to make their connections happen. Zapier also has specific authentication schemes, so you'll want to check into those as well.
Overall, it's a popular, easy-to-use integration.
For teams of developers, Jenkins is a flexible tool worth exploring.
Are developers on your team creating individual code and loading it into your base code? It creates a lot of bugs, doesn't it? Fixing the bugs is a time-intensive process that slows down the testing process. And, suddenly, everything is at a standstill.
Using continuous integration (CI) can help to eliminate the bottlenecks. It allows developers to compile code in a shared version control repository and provides various levels of testing automation.
A popular and well-known integration, Jenkins, provides hundreds of plugins to support automation.
Like Zapier, it has a bunch of plugins accessible as well, some 1,400+ in total. They span five different areas: platforms, UI, administration, source code management, and the category used most, build management. With the breadth of its plugins, it's not surprising that Jenkins works with all the big names in the continuous integration and delivery space.
Once installed, you can work with a default list of plugins or select your own.
You'll have to create a pipeline script to build automation, which is easiest to do through Blue Ocean. It's a more visual process with Blue Ocean, which offers drop-and-drag-like workflows.
Before you work with it, you should consider a few things first.
Like Zapier, it's free. It's used to create continuous integration and continuous delivery workflows.
Jenkins is a self-contained Java-based program that works with Windows, Mac OS X, and Unix-like systems.
The configuration is pretty straightforward and works via a web interface. You'll have access to error checks to make sure you're on the right track, and even access built-in support.
3. Google Contacts
If you’re creating an app that needs access to contacts, you might consider Google Contacts. Rather than creating code that collects, stores, organizes and alters contacts, rely on a contacts API like Google’s.
Since many people are already familiar with Google Contacts, integrating them into your app is a seamless way to add a contacts feature to your app. Using their API, you can give users the power to access, add, update and delete contacts.
There are other contact APIs that offer similar integration. Apple, for example, has a similarly-functioning contact API to Google. HubSpot Contacts is a good choice if you’re designing a marketing app, and Lusha provides a contact API for those integrating lead-generating capabilities into their product.
Mattermost is an alternative to Slack. It's an open-source, cloud-based messaging system that businesses love.
Big name companies like Uber have switched from Slack to this tool and the shift is likely to continue.
This tool offers searchable, topic-based messaging. In other words, you can find conversations and information fast. People can collaborate across multiple devices, and provide access to "war rooms" for specific people to hammer out specific problems.
It's not hard to see why brands love it. But, does that mean you should use it as a developer? Here's what you should know.
There is a Mattermost Developer's Toolkit that allows you to integrate and extend Mattermost servers and clients to meet your needs. However, the toolkit is in its infant stages.
It currently has webhooks and slash commands to allow integrations and extensions, access to its HTTP REST APIv4, and a web app that's in Redux infrastructure.
Mattermost has a list of features it plans to add to the toolkit with specified deadlines, so you may have to wait to get your hands on the information you want.
The company encourages developers to let them know additional components they'd like to see, but again, you'll have to exercise some patience if you want to use this particular messaging integration.
A growing number of software vendors are using open source for their products. As such, it's a safe assumption that open source integrations will grow. This will present some amazing opportunities for developers in the future, but it will also make it difficult to identify the best-in-class integrations.
Developers will have to research integrations to make sure they're working with strong code that's flexible enough to accommodate the customization needed.
One thing is certain: open source integrations are here to stay and it's up to developers to figure out how to use them best.
Opinions expressed by DZone contributors are their own.