Mar 23, 2016

Lessons learnt while working with AngularJs

written by ninja

Let’s first take a moment of silence in respect to the late Andy Groove,the CEO of Intel Corporation.He was part of a team that transformed and shaped the world we know today.

AngularJs is an open-source client-side MVC (Model View Controller) framework managed by the giants Google.It’s written in the JavaScript Language and perfect for Single Page Applications (SPA). Popular as AngularJs may have grown over the years,you will be surprised at the number of developers who can comfortably use it.My take is most developers are used to doing it in Python,Ruby on Rails or Code Igniter. I personally, was introduced to it last year and loved it simply because it was written in JavaScript.I  tried other frameworks like Ruby and Laravel but it  didn’t quite work out well especially with Laravel.I love Ruby,and to date I am still pursuing it.Laravel,however is another case.I think PHP has never really been one of my forte.

Towards the end of last year,we began making our very own web based application with the intention of releasing it out as a SaaS (Software as a Service) product.In developing it,we used Angular for the front end,and I learnt so much during the experience that I thought I should share.The version 1.0 of the product is ready,and we are moving towards creating version 2.0.Once we have a final product,we will definitely do a launch for it (for the curious ones wondering what the product is).A few things I picked up during the whole process:

  •  A system takes time: As a group,we had never really done a system as big as this one (Although currently we are involved in a bigger one).In my head,I thought since the back end had been done,completing the front end was just a matter of 2-3 days.A month and a half later,it dawned on me that systems take time. In case you are handling one or thinking of handling one,just remember it takes time.
  • Map out every idea before beginning: Ours took a lot more time than we had anticipated simply because we had not mapped out everything we wanted to do before we began programming.Mapping out your ideas and discussing them before you begin working will help you debate and refine what it is you want to do.The beauty of this is that,when you get down to writing the codes,then the logic and functionality just flow and consequentially it reduces the time taken thinking about a logic,deleting codes or redoing some work.You can use softwares like Sketch and Adobe XD for idea mapping and brainstorming.I read this quote in one of Robin Sharma’s Facebook post:

Bleed more in practice,less in war

  • Working as a team is the best strategy: Although we have always been dividing the project into smaller chunks and assigning ourselves different chunks,the belief that working in a team is the best strategy was reinforced while working using Angular.When we divide a project among ourselves,the concept usually is to allow each individual to areas that tap into their strengths and less of their weakness.Then we combine all these to come up with one thing.However,with angular,it goes beyond just tapping into each other strengths,it’s the bugs I am talking about.I cant recall the number of times I missed a semi-colon or called onto a function and missed a letter.I get frustrated,swearing that the problem is with the browser sure that I have checked the codes line by line only for the guy you were coding with to point out the obvious flaw in your codes.And trust me,this is bound to happen a lot,especially if you are coding for hours.

In programming,there are no bugs;just unexpected features

  • Focus is the best way to go: We handled so much of the platform in 3 days than we ever did in weeks,and this was after we decided to hold our very own “hackathon“.We met and coded from morning till night (taking breaks in between and playing fifa).Working remotely can be great and convenient,that bit I totally agree.Nonetheless,in my opinion,I feel it is for a mature and experienced team that can reap maximum benefits of such working conditions.We are starting to move towards that direction through using repositories,and we are getting the hang of it.
  • Angular can work well with Jquery: Yes,I said it.Angular and Jquery can totally blend together.Most Angular evangelists and developers will tell you that  once you start using AngularJs then forget about using jquery .And truth is,there are right.Built within it,angular comes already with its own version of jquery called the jqlite. This pretty much means that most of the things that can be done by jquery,angular can do them;and probably better and easier.But lets be real.If you are coming from using frameworks like bootstrap or foundation zurb then doing away with jquery is really really difficult.The only trick is loading jquery before angular. :)

Generally,we had fun working with Angular and I am falling in love with the framework.It fast,easy to use and easy to integrate with some of the development frameworks we are used to working with.Hope you have fun trying it out too.


Leave a comment