The Problem with Native JavaScript APIs

ยท "O'Reilly Media, Inc."
3.7
158 เด…เดตเดฒเต‹เด•เดจเด™เตเด™เตพ
เด‡-เดฌเตเด•เตเด•เต
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
158 เดฑเดฟเดตเตเดฏเต‚เด•เตพ

เดฐเดšเดฏเดฟเดคเดพเดตเดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเต

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 เดฌเตเด•เตโ€Œเดธเต เด†เดชเตเดชเต เด‡เตปเดธเตโ€Œเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•. เด‡เดคเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เด•เตเด•เต—เดฃเตเดŸเตเดฎเดพเดฏเดฟ เดธเตเดตเดฏเดฎเต‡เดต เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด•เดฏเตเด‚, เดŽเดตเดฟเดŸเต† เด†เดฏเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚ เด“เตบเดฒเตˆเดจเดฟเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด“เดซเตโ€Œเดฒเตˆเดจเดฟเตฝ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
เดฒเดพเดชเตเดŸเต‹เดชเตเดชเตเด•เดณเตเด‚ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเตเด•เดณเตเด‚
Google Play-เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดพเด™เตเด™เดฟเดฏเดฟเดŸเตเดŸเตเดณเตเดณ เด“เดกเดฟเดฏเต‹ เดฌเตเด•เตเด•เตเด•เตพ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดฟเดจเตโ€เดฑเต† เดตเต†เดฌเต เดฌเตเดฐเต—เดธเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเต เดตเดพเดฏเดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต.
เด‡-เดฑเต€เดกเดฑเตเด•เดณเตเด‚ เดฎเดฑเตเดฑเต เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเตเด‚
Kobo เด‡-เดฑเต€เดกเดฑเตเด•เตพ เดชเต‹เดฒเตเดณเตเดณ เด‡-เด‡เด™เตเด•เต เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเดฟเตฝ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เด’เดฐเต เดซเดฏเตฝ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดคเต เด…เดคเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เตˆเดฎเดพเดฑเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดชเดฟเดจเตเดคเตเดฃเดฏเตเดณเตเดณ เด‡-เดฑเต€เดกเดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดซเดฏเดฒเตเด•เตพ เด•เตˆเดฎเดพเดฑเดพเตป, เดธเดนเดพเดฏ เด•เต‡เดจเตเดฆเตเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดตเดฟเดถเดฆเดฎเดพเดฏ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เดซเต‹เดณเต‹ เดšเต†เดฏเตเดฏเตเด•.