Playing around with Angular and the Starling Bank API

I’ve been wanting to learn some Angular for a while. I also use Starling Bank for a my Euro bank account, and always wanted at least some basic web interface to be able to view transactions on the desktop.

So I decided to spend a couple of days playing around with Angular and the API, to build a very basic online banking UI for Starling, and I’ve thoroughly enjoyed this.

You can view the current state of play on github.

The current web interface.

So, what do I think of Angular? I have to say: I love it. For someone coming from jQuery you obviously cannot really compare those two frameworks, as they were built for fundamentally different use cases. But I would say that I enjoyed playing with Angular far more, than I ever enjoyed jQuery.

It makes building single page web apps that live almost completely in the client really simple. At work we’ve still been using a lot of really server heavy code to generate our UIs, and I have felt for a while that this is really quite inefficient, as you need a lot of server power and bandwidth. It’s also always tempting to take shortcuts and mix your model, view, and controller code. Offloading that work to the client is just so much neater.

The encapsulation of different features in modules and components is great too.

Although I haven’t used routing in the current version, as I decided to just load everything in one page, I had a play with that, too, and am simply impressed: So much neater than all the work arounds you’d have to employ to get to something remotely comparable with jQuery.

I’ll park this project for now, but I might add further functionality to make payments and/or create/edit payees, in the future.

The one thing I’m not really sure about is how best to handle communication with Starling’s backend server, and the personal access token here: For now it just does all of that in the client (proxying through a backend server to get around CORS restrictions), but that’s not great, as the personal access token is in plain view of everybody.

I feel that I must be missing a more elegant solution?

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top