Phantom.js维护者退出,项目的未来成疑
Vitaly Slobodin是广为使用的无头网站测试框架Phantom.js的维护者(Maintainer),现在他决定放弃这一职责,这使得Phantom.js项目的未来成疑。
\\
Slobodin在Google论坛上发帖表示,鉴于Chrome 59推出了无头浏览特性,他认为没有理由再继续维护Phantom.js。
\\
Phantom.js因其无头特性而常用于网站的自动化测试中。它基于WebKit,可执行DOM操作、抓取截屏等一系列任务。
\\
现在Google通过推出Chrome 59提供了类似的产品,并有望被开发人员广泛采用。Paul Irish(译者注:著名的前端开发者,现负责Google Chrome的开发者工具)曾联系过Phantom.js团队,看他们是否有兴趣使用Chromium作为运行时。但Slobodin指出,“PhantomJS严重依赖于Qt和QtWebKit,采用Chrome作为新的运行时绝非易事”。他还补充道:“我们对此并不具有资源。Chromium代码库比我们当前的代码树更为复杂和庞大”。
\\
Ariya Hidayat是PhantomJS的创建者。看上去他对运行于Chromium上的PhantomJS心存希望:
\\
\
我确信Chromium终将成为很好的PhantomJS后端。PhantomJS应该绑定自己的引擎,能看到PhantomJS恢复其原生状态将是一件非常有意思的事情(项目在启动时只是一个使用QtWebKit的简单应用)。最好其它引擎(例如Gecko、Edge等)也能着手去提供类似的库,使得PhantomJS用户可以在各引擎间进行切换。
\
\\
从GitHub的贡献上看,Slobodin自2015年中期起就接管了PhantomJS的首要开发人员职责,在此之前的主要贡献来自于Hidayat。要让PhantomJS项目继续下去,就需要找到能进入到项目中并担负起活跃开发职责的贡献者。Hidayat对此还是相当乐观的。他在InfoQ的采访中说项目将会继续下去:
\\
\
近些年Vitaly做出了很好的工作。我们只是需要设法去应对这一状况。希望在我们这些贡献者之中,或是有新的贡献者,能继续担负起Vitaly的繁重工作。
\
\\
当然,继任的Phantom.js维护者将会面临重大挑战。截止撰写本文时,PhantomJS尚有1801个开放问题。
\\
看上去Slobodin的GitHub代码库“Phantomium”似乎暗示了他的下一步工作。虽然Phantomium代码库内容尚不足以撑起门面,但是Slobodin已描述该项目是一个“使用Chrome实现PhantomJS的全新项目(具有相同的API)”。
\\
查看英文原文: Phantom.js Maintainer Steps down, Leaving Project's Future in Doubt
Phantom.js维护者退出,项目的未来成疑相关推荐
- vue导入非es6 js文件_Vue项目兼容IE11
Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性.但对于 IE9+,Vue 底层是支持. 由于开发过程中,我们经常会使用一些第三方插件或组件 ...
- Node.js Express+Mongodb 项目实战
Node.js Express+Mongodb 项目实战 这是一个简单的商品管理系统的小项目,包含的功能还算挺全的,项目涵盖了登录.注册,图片上传以及对商品进行增.删.查.改等操作,对于新手来说是个很 ...
- 进入微信企业项目授权回跳之后退出项目需要点击两次(手机的返回主键,回退键)才能正常退出的问题解决
出现这样的问题无非就是第一次进入项目之后,在微企浏览器添加了一条历史记录,之后由于授权成功回来,会再一次添加一条记录,所以我们解决的常规方法就是利用pushState方法加上关闭当前微信窗口API得以 ...
- 字符串对象转数组对象_js对象转数组的方法 js怎么将数组对象转变成字符串
只需要一句,arr.__proto__=[];但是要注意浏览器支持__proto__才行,最新的浏览器应该都支持. 以下两种都可以解决此问题: function transform(obj){ var ...
- Node.js: 如何退出node命令或者node server
如果是要退出node命令的话,可以使用: $ node > 9+23 32 > process.exit() $ 或者 $ node > 9+23 32 > .exit $ 如 ...
- JS - 将十六进制的颜色值转成rgb、rgba格式
JS - 将十六进制的颜色值转成rgb.rgba格式 /**hex -> rgb* @param {Object} hex*/ export function hexToRgb(hex) {re ...
- js 将多个对象合并成一个对象 assign方法
js 将多个对象合并成一个对象 assign方法 ES6在Object新加的方法 assign() 1.作用:将多个对象{} 合并成一个独立对象. 2.使用方式: Object.assign(合并 ...
- Vue.js经典开源项目汇总
Vue.js经典开源项目汇总 Vue是什么? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计 ...
- vs2017python如何打包exe_VS2017项目程序打包成.msi或者.exe
VS2017项目程序打包成.msi或者.exe 1.安装打包插件:Microsoft Visual Studio 2017 Installer Projects 打开vs2017 ,选择 工具 --& ...
最新文章
- Android中怎样在工具类中获取Context对象
- 30 校准_校准or质控,傻傻分不清楚
- 解决: /bin/sh: 1: java: not found
- (69)信号发生器DDS正弦波设计(一)(第14天)
- arcgis 10.1 导入数据到oracle 发布地图服务
- Memcache监控小工具stats命令
- ArcMap增加图标
- oracle 判断字段相等,但类型不同引起的性能问题
- git原理和常用操作
- matlab2c使用c++实现matlab函数系列教程-exprnd函数
- 配置项setOption -- title
- python求数的绝对值一定是正数_Python变量运算符和位运算
- 简化超长的函数指针类型
- 国外ipv6服务器网站,国外 ipv6 服务器地址
- windows 安装PyHook3
- java servlet容器有哪些_Java Web —— servlet 容器
- Dolby Digital(Dolby Surround Digital,杜比数码环绕声)
- html文件默认浏览器改不了,怎么设置默认浏览器 3种更改默认浏览器方法
- 多硬盘分区管理fdisk
- android学习记录(3)查看Device File Explore
热门文章
- 线程池之ScheduledThreadPool学习
- 【Android UI设计与开发】第12期:顶部标题栏(三)ActionBar实现层级导航的返回效果
- 编写 Solidity 测试脚本
- sublime 写lua相关的插件 cocos
- bzoj 1911: [Apio2010]特别行动队 -- 斜率优化
- Codevs 1005 生日礼物
- 自制反汇编逆向分析工具 迭代第六版本 (二)
- linux :故障提示:Error:No suitable device found: no device found for connection System eth0
- PHP 通过随机数获得ASCII 值返回字符。
- 几种Linux段错误调试方法