There is a lot of buzz happening around Xero amongst SME’s. There has been for quite a while now. I think that it is obvious to most that Xero really is beautiful software. The front-end design is clean, uncluttered and works well. But what is it like developing on the Xero platform?
In my last blog post, I wrote about things to look for when buying new software – specifically, to do with customisation.
Xero ticks all the boxes for it:
- Follows current trending technologies.
- Has very well documented API and developer resources.
- Has a very strong community of developers all willing to share their experiences and expertise.
Xero makes the journey into being able to develop on their platform relatively easy. Anyone can create a (free) account with test sample company data to play with. For Australian customers, they have the option to load Australian specific sample data which is nice.
Note that although when signing up Xero offers a free 30 day trial – that trial period only applies to companies that you create. You can access the test data well after that trial period expires.
Built For Web First
Xero was built for web first. It was not some client/server application that was later upgraded to be adopted into the cloud. That is a big deal when writing web-based integrations.
In my experience working with these two types of platforms, client/server applications that are modified for cloud can be trickier to develop for. I feel that the API’s are more restrictive and in some cases are unstable in a threaded environment such as IIS.
Platforms such as Xero that are built for web first have an architecture that was carefully planned and API’s purposefully built to handle large connection pools, heavy traffic and load balancing – this is very important as it frees up the developer to focus on the business programming side of things rather than patching up leaks in the software or troubleshooting obscure errors and building workarounds.
Sample Source
I have uploaded a sample project that I have written on to our GitHub account that I’d like to share. The source code is a simple demonstration of a console application written in C# that reads in AP invoices from an XML document and batch uploads them to Xero.
The source code will compile, however you will need to generate security certificates and provide login details specific to your Xero account if you want it to actually populate the data into your test Xero company. I have left notes in the project on how you go about doing that.
Note that the source is offered “as is” with no warranty. It has minimal error checking and should be used for training/learning purposes only.
I will aim to do some more sample project uploads like this one to other systems in the future, so keep an eye out for those.