I'm not sure that I agree that data binding is a 'sloppy coding trick'. It's a time-saver. It enables what you were going to do anyhow, but with a lot less code. (And hopefully a lot clearer.)
I'm not sure that I agree that data binding is a 'sloppy coding trick'. It's a time-saver. It enables what you were going to do anyhow, but with a lot less code. (And hopefully a lot clearer.)
(Just kidding, I was totally wrong on that. Thanks for the correction)
As far as data binding there are two reasons I consider it sloppy...
1. It's magic box coding (as in I put these simple commands in and the environment just handles it for me and I have little idea how)
2. It (by Microsoft's admission) hogs bandwidth. In the desktop world that wasn't a problem but in web applications its a big one.
Which is basically my point. Data binding was a desktop application technique that Microsoft carried over into Web Forms and which is now trying to make its way into MVC. But it's not technology built with the web in mind and designing a new model around it doesn't change that.
I will take Mr. Sanderson's advice in the other reply here and try the thing out but for the reasons above I don't see myself adopting it.
> 1. It's magic box coding (as in I put these simple commands in and the environment just handles it for me and I have little idea how)
Is this not abstraction? I'm not familiar with the internals of the Python interpreter, but I'm able to be productive and creative with it.
> 2. It (by Microsoft's admission) hogs bandwidth. In the desktop world that wasn't a problem but in web applications its a big one.
I'm not convinced that this is a problem outside of edge-case scenarios. However, from my understanding, this limitation is overcome in two ways: 1. Large application are broken up into small modules which can be loaded lazily. 2. Time. The average bandwidth of an internet user increases exponentially over time.
It is a really quick and easy way to do things (and I don't question how amazing it is in its depth of ability). But it creates almost constant chatter as the grid is reflecting all changes off the database.
To be fair, I used to hate them... Back before I started investigating how they worked. Now I'm only slightly uncomfortable with one I don't understand, and love ones that I do.
Bandwidth, and and its brother Responsiveness, are a concern, however. I didn't look into this, but it appeared that the data binding was done in-browser, and only saving the data resulting in bandwidth usage.