点击围观!腾讯 TAPD 助力金融行业研发提效、敏捷转型最佳实践! 了解详情
写点什么

个人开发者基于可编程 Web 的产品尝试:QCon 会前采访 FaWave 作者李华煜

  • 2012-10-10
  • 本文字数:1942 字

    阅读完需:约 6 分钟

QLeelulu(李华煜,微博 @qleelulu ,下面简称 lulu) 是 Chrome 著名微博插件 FaWave 的开发者之一,曾供职于动易网络和金山软件,目前在广州舜飞公司做数据分析系统的开发。QLeelulu 热衷于与 Web 开发相关的技术,对于.NET、Python、Node.js 一定的了解,在四年的 web 后端开发过程中一直插足于 web 前端 JavaScript 相关的开发中。本次QCon 大会 Lulu 会做关于 FaWave 的演讲。在大会举办之前,InfoQ 对 lulu 以及 FaWave 的另一位作者袁锋(网名 MK2,微博@Python 发烧友)做了一次采访。

能否讲讲“发微”的团队与创作背景?

mk2:关于我们做浏览器插件的历史,其实我们最在是在 firefox 上做浏览器插件的。我们的第一个插件,叫 s8fox, http://www.apprcn.com/s8fox.html 。代码在: http://code.google.com/p/s8hk-api/downloads/detail?name=s8fox.7z#makechanges 是我们做的一个缩短网址网站:s8.hk,目前已经消失了。

我们是嘀咕 (digu.com) 最早的一批用户,在看到嘀咕的 firefox 客户端“狐嘀” ( http://www.digufox.com/ ) 出来后,我们就萌生了做一个嘀咕 chrome 插件客户端的想法。

于是,FaWave 的前身 “iDi” 诞生了 https://chrome.google.com/webstore/detail/ncjgjhcbpfeealhmagbonjhiggipglfh?utm_source=chrome-ntp-icon

2010 年,看到新浪微博等各大微博都蜂拥而至,于是我们就想到做一个多微博的应用。FaWave 就是这样诞生的。

至于为什么会选择了 Chrome,当时原因大概就这样两个:

  1. firefox 的客户端已经有人做了。
  2. firefox 相对于 Chrome 来说,是在太慢了!也就是说,是 chrome 的极速性能吸引了我们。

FaWave 一开始叫 “FaLang”,后来因为太敏感了,于是就改名了 FaWave 了。

lulu:FaWave 开发主要是我和我的同学 @Python 发烧友 两人完成的,因为都有正职工作,所以都是利用业余时间在开发,这就导致 FaWave 的开发进度一直都是比较缓慢的。另外因为我们都是开发人员,UI 设计能力实在是糟糕,所以 FaWave 的界面都是比较普通的。至于为什么要做这个产品,其实很简单,刚开始的时候只是很单纯的想要了解与学习 HTML5 和 CSS3 相关的技术。

为什么选择 Chrome 平台做这款插件?

lulu:上面说了刚开始做 FaWave 的时候,是为了学习 HTML5 相关的知识,而 chrome 的插件是可以直接用 HTML 与 JS 来写的,并且 chrome 对于 HTML5 的支持算是比较好的,还有一点就是在 chrome 上开发插件你不用考虑兼容其他浏览器,这对于前端开发来说是一件很幸福的事来的。

能否说一下“发微”的技术架构演进过程?

lulu:其实架构谈不上,刚开始的时候没有考虑太多,都是用最直接的 JS 来写,导致现在代码有些混乱。目前正在考虑用 seajs 和一些简单的前端 MVC 框架来对代码进行重构,并提供插件的支持,不过进度缓慢。

FaWave 还需要一些后端的数据支持,刚开始是用 Python 在提供服务的,不过后来改用 node.js 了,因为都是一些简单的数据接口,node.js 比较适合并且实现起来很快速,并且在我们一台普通的 VPS 上可以占用更少的资源。

对于“发微”这样一款应用,最大的难点在于哪里?是如何解决的?

lulu:因为 FaWave 是一款可以将内容同时发布到多个微博平台的产品,对于某些平台来说,它认为这样的产品损坏了它自身平台的利益,把内容与其他平台共享了,所以一些“开放”平台会限制我们的接口,这就要我们和开放平台之间积极沟通,甚至需要我们作出一些让步。 在技术方面的,因为是在浏览器端的,浏览器端的 JS 处理能力有限,特别是在字节流和文件的处理上,我们遇到最难搞的问题就是在浏览器端截图并且发送到微博开放平台提供的接口上。在经过长达半年的探索与尝试,最终才在 @Python 发烧友 的努力下把问题解决了。其实主要是利用 Uint8Array 和 BlobBuilder 来解决的。

“发微”以后的规划如何?

lulu:首先肯定是继续完善现在版本,提供更好的体验。而桌面版的开发我们一直都在寻找一种可以直接用 HTML 和 JS 来开发的途径,这样就可以直接将现有的代码稍作修改就可以了,可惜目前这方面的实现都不完善。另外一个是移动客户端的开发,我们最想开发的就是 Iphone 版的,不过鉴于时间和在移动端开发经验的缺少,这个进度也是非常缓慢。

mk2:我们想尝试业余开发,通过 appstore 或者 google play 的模式,通过直接收费尝试盈利。不过按照我们目前两人的空闲时间来评估,这估计遥遥无期。 无论如何,我们达到了最初的目的,学习了 HTML5 和 CSS3,还意外地学到了许多 Javascript 高级用法和 Chrome 的插件机制。 也让我们清楚地认识到,基于目前的各种开放平台,实在是不靠谱。

在本次大会上 lulu 和 mk2 还会针对此话题做深入讨论。会前会后更有机会与二人当面交流。目前大会报名已接近尾声,票量有限,欲购从速。大会网址: http://www.qconhangzhou.com 。报名页面请点击这里。

2012-10-10 04:312931
用户头像

发布了 91 篇内容, 共 34.6 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

运维进阶训练营 -W09H

赤色闪电

运维

【web 开发基础】PHP 中的预定义数组详解续集 (48)

迷彩

post GET 文件上传 PHP基础 预定义数组

2022-12-25:etcd可以完全替代zookeeper,原因是k8s用的etcd,不用担心不成熟。请问etcd部署在k3s中,yaml如何写?

福大大架构师每日一题

云原生 k8s etcd k3s 福大大

银行如何快速落地营销数字化?

中关村科金

人工智能 大数据 AI 数字化转型 数字化

优化器核心技术—Join Reorder

KaiwuDB

超详细图文保姆级教程:App开发新手入门(三)

YonBuilder低代码开发平台

架构实战营 3-4 架构设计后期随堂练习

西山薄凉

「架构实战营」

架构实战营 3-5 消息队列备选架构随堂练习

西山薄凉

「架构实战营」

YonBuilder应用构建教程之移动端基础配置

YonBuilder低代码开发平台

华为云桌面,如何让云上办公变得高效、安全?

i生活i科技

Web入门开发【二】

小院里的霍大侠

编程开发 初学者 入门实战 Web入门

SDK更新不了问题解决

向阳逐梦

android hosts SDK 教程

【IntelliJ IDEA】连接https报错问题: E230001: Server SSL certificate verification failed:

No8g攻城狮

svn IDEA

【架构设计】你的类足够“专一”吗

JAVA旭阳

Java 架构

数据库原理及MySQL应用 | 约束

TiAmo

主键约束 数据库· 12月月更

如何使用YonBuilder进行报表分析?

YonBuilder低代码开发平台

安卓、iOS、小游戏三端同发?介绍给你一个新方式 - 普洱WebGL

僵尸浩

typescript 小游戏 Unity3D

数据可视化图表系列解析——饼图

Data 探险实验室

数据分析 可视化 数据可视化 可视化数据 可视化工具

超详细图文保姆级教程:App开发新手入门(四)

YonBuilder低代码开发平台

YonBuilder移动开发 AVM框架 封装虚拟数字键盘组件

YonBuilder低代码开发平台

架构误区系列10:不合理的分层

agnostic

软件分层

【IntelliJ IDEA】idea 2018版本中没有SVN按钮或者图标的解决方法

No8g攻城狮

svn IDEA git 学习

spaa 22

黄敏

启科QuSaaS真随机数解决方案与Amazon Braket结合实践

启科量子开发者官方号

人工智能 量子计算 随机数

Web入门开发【四】

小院里的霍大侠

Web 编程开发 初学者 入门实战

一文告诉你如何选择低代码供应商?

YonBuilder低代码开发平台

2022年浪过的那些城市

SAP虾客

杭州 2022年 无锡 东莞 SAP项目

架构训练营模块三作业

张建闯

架构实战营

HTTP请求首部字段

穿过生命散发芬芳

HTTP 12月月更

一文读懂什么是低代码开发?

YonBuilder低代码开发平台

AI 2022:浪潮奔涌,百舸争流

Baihai IDP

人工智能 AI 年终总结 AI 2022

个人开发者基于可编程Web的产品尝试:QCon会前采访FaWave作者李华煜_JavaScript_彭超_InfoQ精选文章