作者Dominique Hazaël-Massieux是W3C的员工,最先担任W3C的网络管理员,而后加入了INRIA-based European Team of W3C和ERCIM-based European Team of W3C,目前主要在W3C从事以下工作:负责Mobile Web Initiative的工作,参与Device APIs and Policy Working Group以及Web App的开发和部署研究工作。
现在越来越多的操作系统和应用程序使用到了Web技术:: Intel & Samsung’s Tizen, HP (formerly Palm) WebOS, Mozilla’s boot2gecko, Windows 8 Metro apps, WAC, Webinos,PhoneGap等等。
大多数的程序都使用了JavaScript APIs,但某些APIs由于安全和隐私问题被浏览器禁用。
在TRAC召开的W3C Device APIs Working Group F2F会议上,大家对APIs的新规定展开了激烈的讨论:而最后DAP只采纳了能够在Web浏览器上运行的APIs(这一点在新规范中已经明确规定了),对于那些还希望在自己的OS上使用被Web浏览器禁用的APIs的开发者来说,这一结果显然令他们大失所望。
而我所关心的是,为什么开放的Web APIs需要以Web浏览器的安全和隐私禁用作为标准?那这是否意味着:开发者使用的APIs在设计时,其实本身并没有考虑到安全性?
虽然针对某些特定功能已经提出了一些提高安全性的措施,但是目前还没有一个通用的方法用来在不降低用户安全性和隐私的情况下提升APIs的可信度。其中最大的困难就在于如何为用户提供一个温和易懂而又容易操作的用户界面,让用户自己选择。
现在已经提出了许多方法提升功能的安全性,但是这些方法还没有得到充分有效的验证,在此之前,还是只能通过原来的方法检验新功能的安全性。这意味着,很多新增的功能目前还不能投放到Web上去。
显然,基于Web的操作系统通常需要采用一套不同的安全策略,例如它时常会允许一些特权访问(通常是在程序安装过程中)。有些人建议将这套机制推广到Web App上,但是目前关于这一问题还存在很大的争议。
如果单独实现安全和隐私控制,那个各个APIs的限制条件将无法统一,例如:
可以通过扩展Web APIs的功能满足Web-based OS的开发需求,但是早期的实验表明这只会使得APIs变得更加混乱。
这并不意味着基于non-Web开发的JavaScript APIs不可以整合到基于Web开发的APIs中。我认为,如果两者的安全模型足够相似的话,那么就可以将这些API整合起来。
也许W3C会考虑将这些APIs整合起来,当然,首先只是由一个Community Group参与,如果发现这个工作有现实意义的话,Working Group才会正式接手。但是我觉得DAP Working Group最好还是能够专注于一类APIs——Web APIs的开发,而不要贪大求全。
文章来源:Web APIs vs APIs for Web-based