# Playing around with GoAngular

October 15, 2013 · Josh Strange · Tags: Angular, GoAngular, GoInstant

Source: https://joshstrange.com/2013/10/15/playing-around-with-goangular/


UPDATE 12/23/13

On December 21st, 2013 Firebase reached out to me because of this blog post to ask for what exactly I found more desirable in goAngular/goInstant over AngularFire/Firebase and to point out the updated documentation for AngularFire which has really simplified the API. Not only has the API been cleaned up but so has the [documentation](http://angularfire.com/documentation.html) itself, it is much easier to follow and use as a reference instead of discerning it just from examples/minimal docs. I plan on playing with again to see how it compares to goInstant and possibly writing a more in-depth review of the two as more of a side-by-side comparison. I would like to thank James at Firebase for reaching out to me to ask for feedback, it’s always so refreshing to see a company reach out to people who aren’t satisfied with their product and I appropriate the directness. The BaaS game is just starting to really heat up and I look forward to not only goInstant’s and Firebase’s future innovations in the field but also other startups as I’m sure we have only seen the tip of the iceberg.

—

As of late I have been very interested in Real-time communication(RTC)/BaaS providers such as [Firebase](https://www.firebase.com/), [Kinvey](http://www.kinvey.com/), and [GoInstant](https://goinstant.com/). I realize that not all of those are RTC nor are they all BaaS but they all allow you to get up and running without having to setup a server. You can signup, download the sample app, and be playing with it in record time. I get extremely excited just thinking about the possibilities these platforms offer and love how time to MVP can be greatly decreased.

Along with RTC/BaaS I have also been spending quite a bit of my time working with [AngularJS](http://angularjs.org/), both for my job and in my free time. If you haven’t heard about AngularJS or have never used it allow me to understate it’s coolness with this short description: AngularJS is a JS framework that, unlike most JS frameworks, allows for 2-way binding meaning if I bind a variable to an input box and then change the value of the variable in my code then the value in the input box will auto-update and if I change the value of the input box then the value in my code will also be changed (See an example [here](http://angularjs.org/#the-basics)).

About a week ago I was contacted by an employee at GoInstant asking me to test out their GoAngular library they wrote to make AngularJS development even easier. I had been working with [AngularFire](http://angularfire.com/) quite a bit which I was using to create a chat application for work and so I was excited to test out another similar framework. I had tried out Kinvey for a side-project of mine but it didn’t have AngularJS bindings and so I had to write my own wrapper services to "Angularize" some of their code. I had somehow missed GoInstant when I went on my search for BaaS providers, probably because my requirements at the time did not include RTC, and so I jumped at the chance to play with a new, to me, service (especially since I got to use AngularJS).

Looking back I really wish I had been contacted about 1 month earlier as in my opinion GoInstant is better than Firebase in nearly every aspect when it comes to what I am doing with it. It has a much finer-grained level of control than Firebase and would have suited my project better. The only thing I like more about Firebase is Firebase Forge which is a very nice web-gui interface to easily see and manage your data. GoInstant, due to it’s nature, doesn’t really need something like this but it might be nice for debugging purposes. GoInstant and I traded a few emails and I gave some feedback on the library and today they are releasing it to the public. Check out their blog post [here](https://goinstant.com/blog/new-release-angularjs--goinstant--goangular-)

[GoAngular](https://developers.goinstant.com/v1/GoAngular/index.html) is a really cool library that will get you up and running with GoInstant’s back-end in no time. Here is their [FormSync](https://developers.goinstant.com/beta/GoAngular/getting_started.html) example on [Plnkr](http://embed.plnkr.co/7bZm4Imq6yT9JhOndsTP/preview) (Open 2 tabs with it to see it syncing).

GoAngular takes an interesting approach in that by default your are synchronizing your entire controller’s `$scope` instead of a specific variable. When initializing GoAngular you can choose to include or exclude models by passing in an array of names or regular expression patterns to match against. Here is a [simple chat applicationn](http://embed.plnkr.co/BkijiQSEEEewK2FiAJiZ/preview) I threw together in a few minutes. I’ve quite enjoyed working with GoAngular and I look forward GoInstant’s continued development on it.

