Why AngularJS is Known to Have a Steep Learning Curve?
Join the DZone community and get the full member experience.
Join For Free
why angularjs seems to have deep learning curve for server-side developers?
-
err…angularjs is a dependency injection based framework?
: this presents problem right in the start when the server-side developers start with angularjs. some of the questions they struggle to find answer in their mind and elsewhere on webpages are following:
- why is there a need of dependency injection with ui programming when javascript is mostly about writing functions and getting things done? moreover, my ui developer friends say that they have jquery as their favorite js library which serves all that they need whenever they are needed to do javascript programming and manipulate dom. then, why do we need something like dependency injection? in addition, the server-side developers are used to working with one or more dependency injection framework (such as spring for java) where they have learnt to inject dependency for different reasons sighted by the framework. all of sudden, trying to learn angularjs in light of dependency injection present them with one or more challenges primarily because they try to apply their existing understanding of di with angular and soon start getting frustated.
- what is required to be injected? actually speaking, many server-side developers are not very familiar with the fact that javascript can also be written using object-oriented programming & related concepts.
- okay, how does di happen? is it using some configuration file that developers has to write separately or is it done using some sort of annotations?
- and, what the heck has mvc got to do with javascript? well, this presents one of the biggest challenge in server-side developers’ mind. they try to equate or apply their understanding of mvc on server-side programming while learning angularjs. and, this is where some of them, if not most, get defeated.
- huh…what is this whole fuss about testability with javascript? why one needs to write testable javascript code?
why angularjs seems to have steep learning curve for ui developers?
- what is this “object” we are talking about? many rookies to average ui developers that i have met, they have been still writing javascript using functions and jquery, a very popular javascript library that helps to manipulate with dom and in turn, manipulate related html pages. then, why do i need to care about writing javascript code in object-oriented manner.
- what the hell is this dependency injection? why do i need it? again, i am getting my work done with jquery and some functional programming. why do i need to care about di which i have known as a object lifecycle management related framework for my server-side developer friends.
- my goodness, now you are pushing mvc in its totality on me when i am comfortable taking care of “view” part in my existing world and server-side developers worry about controller (c) and model (m).
-
testability & javascript…why?
well, there are test engineers to test the ui that i develop. why should i care about testability of my javascript code. and, even i need to care, i am not writing a rocket launcher, that i would be mandated to write unit tests for my javascript code. additionally, where is the time to write these unit tests when there are a bunch of legacy js code which i have to maintain. give me a break.
- and, why new directives when i am ok with existing html directives & jquery (thankfully) . why do i need to worry about custom directives provided by angular and the ones that i could as well write. huh!
- is jquery not enough for all that i need? then, why learn angularjs ?
Published at DZone with permission of Ajitesh Kumar, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments