Heheh, always make me think of this:
Most asked for feature: 2 way data binding...
Least used feature: 2 way data-binding.
Take a look at knockoutJS http://knockoutjs.com/, It's a bit old (far older than NG) but was used quite widely. They are actually using it where I currently work [sigh.] It is fairly concentrated on the whole two way data-binding thing.
I heard for the first time with apple: developer.apple.com/library/mac/documentation/Coc…
I think that it was here with JQuery or even normal JavaScript but people didn't use it or didn't need to use it for traditional applications. Not every use case or scenario needs it but since Single Page Applications are all about front end interactivity, Angular popularized the concept.
Jan Vladimir Mostert
Idea Incubator
I was doing two-binding in GWT about 10 years ago (around 2006) when internet explorer 6 was still tormenting developers, but it was laggy in some browsers. Google later released the UI binder "framework" on top of GWT which explicitly called it UI binding which was a form of two-way binding as well. Otherwise JavaScript was just too slow and error prone to have it everywhere before 2005 - Internet explorer would crash if you did too many interactions with the DOM, so most websites were just using javascript for simple form validations otherwise doing full-page form POSTs and reloads. Single page apps were initially discussed around 2003 and US Patent 8136109 was awarded (can someone include the patent here, I'm on mobile).
So two-way binding must have been created after single page apps were invented and before GWT which had it as a feature, so 2003-2006.
Angular JS was only released in 2010, so no, Angular was not the first to use it.