The Problem with Native JavaScript APIs

· "O'Reilly Media, Inc."
3.7
157 āŠ°āŠŋāŠĩāŦāŠŊāŦ‚
āŠ‡-āŠŠāŦāŠļāŦāŠĪāŠ•
16
āŠŠāŦ‡āМ
āŠŠāŠūāŠĪāŦāа

āŠ† āŠ‡-āŠŠāŦāŠļāŦāŠĪāŠ• āŠĩāŠŋāŠķāŦ‡

Many features inspired by popular JavaScript libraries are now available as native JavaScript APIs in today’s powerful browsers. While that may seem convenient given all of the JavaScript you need to write, relying on these APIs will only make code maintenance more difficult in the long run.

In this report, Nicholas Zakas—consultant and former front-end tech leader at Yahoo!—provides a case study to show how different browsers can develop native APIs for the same specification and still end up with different interpretations. You’ll discover how these APIs can tie your code to specific browsers, forcing you to upgrade application logic whenever new browsers and new browser versions are released.

āŠ°āŦ‡āПāŠŋāŠ‚āŠ— āŠ…āŠĻāŦ‡ āŠ°āŠŋāŠĩāŦāŠŊāŦ‚

3.7
157 āŠ°āŠŋāŠĩāŦāŠŊāŦ‚

āŠēāŦ‡āŠ–āŠ• āŠĩāŠŋāŠķāŦ‡

Nicholas C. Zakas is a front-end consultant, author, and speaker. He worked at Yahoo! for almost five years, where he was front-end tech lead for the Yahoo! homepage and a contributor to the YUI library. He is the author of Professional JavaScript for Web Developers (Wrox, 2012), Professional Ajax (Wrox, 2007), and High Performance JavaScript(O’Reilly, 2010). Nicholas is a strong advocate for development best practices including progressive enhancement, accessibility, performance, scalability, and maintainability. He blogs regularly at http://www.nczonline.net/ and can be found on Twitter via @slicknet.

āŠ† āŠ‡-āŠŠāŦāŠļāŦāŠĪāŠ•āŠĻāŦ‡ āŠ°āŦ‡āПāŠŋāŠ‚āŠ— āŠ†āŠŠāŦ‹

āŠĪāŠŪāŦ‡ āŠķāŦāŠ‚ āŠĩāŠŋāŠšāŠūāŠ°āŦ‹ āŠ›āŦ‹ āŠ…āŠŪāŠĻāŦ‡ āŠœāŠĢāŠūāŠĩāŦ‹.

āŠŪāŠūāŠđāŠŋāŠĪāŦ€ āŠĩāŠūāŠ‚āŠšāŠĩāŦ€

āŠļāŦāŠŪāŠūāŠ°āŦāПāŠŦāŦ‹āŠĻ āŠ…āŠĻāŦ‡ āŠŸāŦ…āŠŽāŦāŠēāŦ‡āП
Android āŠ…āŠĻāŦ‡ iPad/iPhone āŠŪāŠūāŠŸāŦ‡ Google Play Books āŠāŠŠ āŠ‡āŠĻāŦāŠļāŦāПāŦ‰āŠē āŠ•āŠ°āŦ‹. āŠĪāŦ‡ āŠĪāŠŪāŠūāŠ°āŠū āŠāŠ•āŠūāŠ‰āŠĻāŦāП āŠļāŠūāŠĨāŦ‡ āŠ‘āŠŸāŦ‹āŠŪāŦ…āПāŠŋāŠ• āŠ°āŦ€āŠĪāŦ‡ āŠļāŠŋāŠ‚āŠ• āŠĨāŠūāŠŊ āŠ›āŦ‡ āŠ…āŠĻāŦ‡ āŠĪāŠŪāŠĻāŦ‡ āŠœāŦāŠŊāŠūāŠ‚ āŠŠāŠĢ āŠđāŦ‹ āŠĪāŦāŠŊāŠūāŠ‚ āŠĪāŠŪāŠĻāŦ‡ āŠ‘āŠĻāŠēāŠūāŠ‡āŠĻ āŠ…āŠĨāŠĩāŠū āŠ‘āŠŦāŠēāŠūāŠ‡āŠĻ āŠĩāŠūāŠ‚āŠšāŠĩāŠūāŠĻāŦ€ āŠŪāŠ‚āŠœāŦ‚āаāŦ€ āŠ†āŠŠāŦ‡ āŠ›āŦ‡.
āŠēāŦ…āŠŠāŠŸāŦ‰āŠŠ āŠ…āŠĻāŦ‡ āŠ•āŠŪāŦāŠŠāŦāŠŊāŦāŠŸāŠ°
Google Play āŠŠāŠ° āŠ–āŠ°āŦ€āŠĶāŦ‡āŠē āŠ‘āŠĄāŠŋāŠ“āŠŽāŦāŠ•āŠĻāŦ‡ āŠĪāŠŪāŦ‡ āŠĪāŠŪāŠūāŠ°āŠū āŠ•āŠŪāŦāŠŠāŦāŠŊāŦāŠŸāŠ°āŠĻāŠū āŠĩāŦ‡āŠŽ āŠŽāŦāаāŠūāŠ‰āŠāŠ°āŠĻāŦ‹ āŠ‰āŠŠāŠŊāŦ‹āŠ— āŠ•āŠ°āŦ€āŠĻāŦ‡ āŠļāŠūāŠ‚āŠ­āŠģāŦ€ āŠķāŠ•āŦ‹ āŠ›āŦ‹.
eReaders āŠ…āŠĻāŦ‡ āŠ…āŠĻāŦāŠŊ āŠĄāŠŋāŠĩāŠūāŠ‡āŠļ
Kobo āŠ‡-āŠ°āŦ€āŠĄāŠ° āŠœāŦ‡āŠĩāŠū āŠ‡-āŠ‡āŠ‚āŠ• āŠĄāŠŋāŠĩāŠūāŠ‡āŠļ āŠŠāŠ° āŠĩāŠūāŠ‚āŠšāŠĩāŠū āŠŪāŠūāŠŸāŦ‡, āŠĪāŠŪāŠūāŠ°āŦ‡ āŠŦāŠūāŠ‡āŠēāŠĻāŦ‡ āŠĄāŠūāŠ‰āŠĻāŠēāŦ‹āŠĄ āŠ•āŠ°āŦ€āŠĻāŦ‡ āŠĪāŠŪāŠūāŠ°āŠū āŠĄāŠŋāŠĩāŠūāŠ‡āŠļ āŠŠāŠ° āŠŸāŦāаāŠūāŠĻāŦāŠļāŠŦāŠ° āŠ•āŠ°āŠĩāŠūāŠĻāŦ€ āŠœāŠ°āŦ‚āа āŠŠāŠĄāŠķāŦ‡. āŠļāŠŠāŦ‹āаāŦāПāŦ‡āŠĄ āŠ‡-āŠ°āŦ€āŠĄāŠ° āŠŠāŠ° āŠŦāŠūāŠ‡āŠēāŦ‹ āŠŸāŦāаāŠūāŠĻāŦāŠļāŦāŠŦāŠ° āŠ•āŠ°āŠĩāŠū āŠŪāŠūāŠŸāŦ‡ āŠļāŠđāŠūāŠŊāŠĪāŠū āŠ•āŦ‡āŠĻāŦāŠĶāŦāаāŠĻāŦ€ āŠĩāŠŋāŠ—āŠĪāŠĩāŠūāŠ° āŠļāŦ‚āКāŠĻāŠūāŠ“ āŠ…āŠĻāŦāŠļāŠ°āŦ‹.