We are in Amsterdam for Atlassian connect week. The goal for us this week is to port an existing add-on to the Atlassian cloud. It is still JIRA and Confluence in the cloud, but traditional add-ons can’t be installed. So what exactly is different about writing an add-on for the cloud? 3 things:
1) Simply understood, Atlassian Connect add-ons are web applications. Atlassian Connect add-ons operate remotely over HTTP and can be written with any programming language and web framework. So there we have the most important difference. Pick your favourite language, web framework and tools and start building. There are no restrictions here. Our favourite language is Clojure and we are picking up Untangled as a web framework.
2) Closely related to #1 and not unimportant, hosting is up to the add-on. While server add-ons live inside the host product (JIRA, Confluence, etc), for Atlassian cloud, you are on your own. Your add-on is a full web application for which you need to arrange a place to run, storage, security measures, monitoring, backup and what not. Don’t underestimate this, this involves serious work and it’s a real responsibility. We have add-ons running on both Heroku and AWS. Simple add-ons can get away with simple hosting services but as you grow you might be looking into serious hosting offerings that can scale with you.
Taking these 3 things into account we have found that if you want to build add-ons that are available on both server and cloud that you need to start building the cloud version first. The cloud version is the one that will constrain you functionality-wise mostly because of #3 above. Start on cloud, choose your functionality carefully and then build functionality on server that is on par with the cloud version. Happy coding!