Die Herausforderung im Web besteht meist nicht darin, verschiedene APIs auswendig zu können, sondern viel mehr sich derart zu verrenken, bis die Applikation in jedem genutzen Browser funktioniert -- wenn ich mal rein die Clientseite betrachte. Jeder kennt hier schon allein das leidige Thema Internet Explorer. Aber vor allem im Bereich JavaScript muss man in jedem Browser testen, da u.A. Opera manchmal diverse Schnittstellen bzw. Optionen nicht anbietet. Ein anderes Beispiel bei CSS wäre position: fixed im Safari. Diese Eigenschaft funktioniert auf dem iPad und iPhone nicht, obwohl dort WebKit zum Einsatz kommt.
Imho besteht die Komplexität nicht darin, sich in den einzelnen Disziplinen auszukennen.
HTML, CSS, JavaScript, PHP und
MySQL sind alle samt nicht sonderlich schwer zu erlernen, zumal die Einarbeitungszeit auch nicht sehr hoch ist. Allerdings bekommt man oft genug Steine in den Weg gelegt, die man so nicht erwartet hätte. Aber genau hier fangen die Hürden und die eigentliche Arbeit an.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)