Folks, I volunteered last week to write a proof of concept for a colleague
to display a sequence of "screens/views" in a single-page app that talks to
a REST service. Getting the beginners part going with service calls and
binding went surprisingly well and I got a bit excited, until it started to
grow.

Once I needed to toggle the visibility of views, have multiple controllers
in multiple files, have global data, share data between controllers or use
events between controllers everything went a bit haywire. All of the things
I just described are bread and butter in any respectable development
language and environment. For each of these issues I spent hours searching
for the correct technique, but I mostly find long threads of  arguments and
hundreds of samples which are all slightly different. I can't find any
reliable and trustworthy guidance about how to structure a serious app in
AngularJS. The documentation of non-trivial coding techniques is so verbose
and cryptic with incomprehensible syntax and nesting of injectors, services
and factories that it feels like I'm trying to climb a man made mountain
like Finnegans Wake <https://en.wikipedia.org/wiki/Finnegans_Wake>. Dozens
and dozens of code snippets I tried either silently killed the app or did
nothing, like trying to build a house of cards blindfolded. Lord help
anyone who has succeeded in writing a significant client-side application
this way, how did you do it?!

So over a few days of battling these issues in the absence of an IDE I have
decided that AngularJS is more than my patience and sanity can take. I'm
telling my colleague that although my demo is technically possible, it
could take weeks of heartache and research to produce something that I
could causally knock-up in one afternoon with a "real" language and IDE.
Overall, I'm also abandoning the demo because I feel that writing
monolithic client-side apps in JavaScript frameworks is an evolutionary
dead-end, and I pray that the future history books will prove me right.

*Greg K*

Reply via email to