This is a difficult problem to discuss, in large part because not all developers are created equal.
There is a reasonable supply of entry-level and low-skill developers. I refer to them as commodity developers: Developers who have a very basic skill set, who can do only a few specific things, none of them with extreme skill, but some of them reasonably competently. They typically do web front-end work, but sometimes work in Java on server back-ends. Typical pay ranges from $80-$120k, the same as it has been for 10 years or more.
There also is a shortage of high-skill developers. Compensation north of $250k-$500k is becoming standard in some areas for such developers. [1] That pretty much could only happen if there were a shortage, since real wages have remained flat in general since the mid 1970's. [2]
The problem is when companies ask for more H-1B employees, citing the fact that they can't hire developers for their highest skill positions (or claiming that they can't hire mid-skill developers at "market rates", because even the mid-skill tier is asking for more money now), but then import commodity developers.
By importing such workers, it unfairly keeps those developers' wages down by creating an artificial surplus of employees at that level. The idea of an H-1B worker is that they are not supposed to be paid less than the "prevailing standard" for a worker of equivalent skill in the local market [3]. But if by hiring H-1B workers you're holding down the "prevailing standard" in pay, that hardly seems like companies are following the spirit, or even the letter, of the law.
[1] My own compensation was in that range when I took a job working from remote full time, and I know several other developers at top companies whose compensation is well within that range.
[2] http://www.thestreet.com/story/11480568/1/us-standard-of-liv... and many other such charts and reports.
[3] https://en.wikipedia.org/wiki/H-1B_visa#Employer_attestation...