我开发 wangEditor-mobile 的故事
1. 写在前面
其实,我一开始并没有想做什么手机端操作的富文本编辑器。
wangEditor 是我2014年11月份开始做的一个富文本编辑器,代码托管在github,开源、分享以及和大家交流问题。随着我这一年的时间的维护、升级、分享一些技术博客,也慢慢为wangEditor积攒了一小撮用户。

其中,就有一个用户提出:『做一个手机端的吧,现在他们的项目需要手机端的编辑器』。其实当时提出这种需求的人并不多,而且大部分人都觉得手机端编辑富文本内容,太费劲了,没有人会这么做。
我得到这个提醒之后,谁的意见我也没听,我就是自己静静的思考了一些时间,觉得很有必要做!主要原因有:
- 移动端已经是趋势了,各个产品的流量都在往移动端转。所有的事儿,大家都在寻求如何能用手机轻松解决。
- 如果像有些人说的没有人会在移动端编辑富文本内容,那么office、印象笔记、有道云笔记干嘛要出app呢?
- 现在网络上适用于手机端的富文本编辑器,(不管好用不好用)暂时还没有,这是机会。
决定的事情就要做下去,是浑水我也趟一回!
2. 烧脑的设计过程
接下来要考虑如何做,最烧脑的就是菜单栏如何设计。
方案一,像PC端一样,菜单栏放在内容区域的上方、或者下方,如下图:

这种要是放在手机上,屏幕一滚动菜单栏找不着了,怎么用?肯定是要放弃的。现在还有wangEditor用户拿PC版的用的在手机上,但是你可能做项目这样弄弄可以,但是我做的是产品,没用户体验的事儿,我绝对不干。
在此允许我吐槽一下那些生成支持移动端的富文本编辑器产品,例如xxx。你拿PC端的编辑器放在手机上,用起来费吃奶的劲儿,也叫『支持』?用户体验何在?
方案二,膜拜iOS,菜单栏紧贴着虚拟键盘。如下图:

其实网易云笔记也是用的这种方式。我当时非常喜欢,也非常认定这种方式,这种方式的用户体验是最好的,没有之一!但是很遗憾,他们都是原生开发的app或者有原生app的支持,而我只做网页端的,只有 javascript 和 css ,根本做不到这种效果。
在经过一段时间苦寻结果但是最终无果的时候,我就像泄了气的皮球一样……
那段时间我一直在寻找另一个合适的答案,却一直没有找到。有时候逼着自己想出一些奇形怪状的方式,然后自己1分钟之后就又放弃了。
……
其实,最好用的东西,往往也是最简洁的。这里的『好用』『简洁』都有一个共同特点——零学习成本!
方案三,模拟浏览器菜单的方式。如下图:

我现在也忘了自己是如何想出来这一种方案。和上面强逼着自己想出来的不一样,这个方案真的是不经意就想出来的。有些人可能会纳闷:真笨,这么简单的东西,还用那么久才能想出来?——我想说:事后诸葛亮没有发言权。无论它有多简单,目前也没有人这么做。
然后,我采纳了这个方案,花了一些时间开发、写文档、优化、做兼容,最后终于是出来了。因为我觉得这就是除了方案2之外的最好的方案了——用户体验最好!

待你浏览完demo之后,请继续看看下面的一点内容。
产品观
wangEditor-mobile 这款产品也代表了我对目前移动互联网『快餐文化』的一种理解。它虽然是『富文本』编辑器,但是功能非常少,操作非常简洁。
如果用户想写一份格式规整的合同或者投标书,他肯定不是用手机或者pad写的。我曾经干过这样的工作,用office word写完了,还得修复若干版本才能发布。那么用户用手机写的东西,肯定是比较生活化、随性的东西,例如记录一下心情、备注等等。而这些,wangEditor-mobile的这些功能完全可以满足你。
抓住用户的核心需求。凡事都符合 2/8 原则,我要做好 20% 的功能来满足 80% 的用户,剩下的 20% 的用户我不考虑。
最后
目前这款产品已经有人开始关注并尝试使用,但是毕竟移动端的需求量目前并不大,或者说我的推广能力限制了只有那么多人能看到它。
另外,移动端web比较出名的是Android系统中各个浏览器的兼容性,我现在也对此比较棘手,不会正在逐步的完善解决。
感兴趣就加入我们的QQ群:164999061 wangEditor-mobile
-------------------------------------------------------------------------------------------------------------
欢迎关注我的教程:
《使用grunt搭建全自动web前端开发环境》《从设计到模式》《json2.js源码解读视频》
《深入理解javascript原型和闭包系列》《css知多少》《微软petshop4.0源码解读视频》
------------------------------------------------------------------------------------------------------------
wangEditor-mobile,适用于手机的富文本编辑器
-------------------------------------------------------------------------------------------------------------
我开发 wangEditor-mobile 的故事的更多相关文章
- 解决VS2008 开发Windows Mobile 项目生成速度慢的问题(转)
最近用VS2008开发Windows Mobile程序,使用C#..NET Compact Framework,发现项目生成速度比较慢.用VS2008打开项目后,开始一段时间生成速度还能忍受,时间一长 ...
- 解决VS2008 开发Windows Mobile 项目生成速度慢的问题
最近用VS2008开发Windows Mobile程序,使用C#..NET Compact Framework,发现项目生成速度比较慢.用VS2008打开项目后,开始一段时间生成速度还能忍受,时间一长 ...
- [转]解决VS2008 开发Windows Mobile 项目生成速度慢的问题
最近用VS2008开发Windows Mobile程序,使用C#..NET Compact Framework,发现项目生成速度比较慢.用VS2008打开项目后,开始一段时间生成速度还能忍受,时间一长 ...
- 【我的产品观】开发wangEditor一年总结
1. 引言 标题说是一周年,其实是不是正好是一周年,我也忘记了,光从github的提交记录看也不准确.印象中觉得,如果要论想法,到现在一年多了,如果要论实际写代码,可能差不多正好一年. 从8月底在济南 ...
- IOS开发-jqeurey mobile
有一阵子没写东西了,最近打算重新拾起开发,做点手机上的东东,选中了phonegap.jquery mobile,phonegap的部署网上非常多,有空了再班门弄斧,这里先记下jquery mobile ...
- python 全栈开发,Day126(创业故事,软件部需求,内容采集,显示内容图文列表,MongoDB数据导入导出JSON)
作业讲解 下载代码: HBuilder APP和flask后端登录 链接:https://pan.baidu.com/s/1eBwd1sVXTNLdHwKRM2-ytg 密码:4pcw 如何打开APP ...
- 3.PO如何给开发团队讲好故事
敏捷开发系列文章目录 讲出符合开发团队味口的故事. 上一章说了敏捷开发团队的构成与迭代过程,本章重点说一下迭代第一天的计划会议.熟话说“好的开始就成功了一半”,一个迭代的计划会议做得好不好确实直接注定 ...
- 产品经理-需求分析-用户故事-敏捷开发 详解 一张图帮你了解Scrum敏捷流程
产品经理-需求分析-用户故事-敏捷开发 详解 用户故事是从用户的角度来描述用户渴望得到的功能.一个好的用户故事包括三个要素:1. 角色:谁要使用这个功能.2. 活动:需要完成什么样的功能.3. 商业价 ...
- 行为驱动开发iOS <收藏>
前段时间在design+code购买了一个学习iOS设计和编码在线课程,使用Sketch设计App,然后使用Swift语言实现Designer News客户端.作者Meng To已经开源到Github ...
- 一起学习KenDo Mobile之一 建立一个简单的移动APP
开发KenDo Mobile的开发工具只要求支持文本编辑即可,当然我自己用VS2013,大材小用. 移动应用程序开发不同于桌面应用程序开发,前者需要在移动设备上部署,后者使用台式电脑测试和调试应用程序 ...
随机推荐
- java容器详细解析
前言:在java开发中我们肯定会大量的使用集合,在这里我将总结常见的集合类,每个集合类的优点和缺点,以便我们能更好的使用集合.下面我用一幅图来表示 其中淡绿色的表示接口,红色的表示我们经常使用的类. ...
- LLBL Gen Pro 4.2 Lite 免费的对象关系映射开发框架与工具
LLBL Gen Pro是一款优秀的对象关系映射开发框架,自2003年发布以来,一直有广泛的客户群.LLBL Gen Pro有几个标志性的版本,2.5/2.6是一个很稳定的版本,公司的一些旧的项目仍然 ...
- C# XmlReader
一个非常全面的XML解析类 using System; using UnityEngine; using System.Xml; using System.Collections; using Uni ...
- dropdownlist同时绑定数据库和自定义内容
在有些时候,我们需要dropdownlist里面包含“全部”这个字段,但是数据库中不存在“全部”,只存在具体的分类项. 这种情况下就需要先把数据库的数据源绑定到dropdownlist中,然后再在后面 ...
- Java魔法堂:类加载器入了个门
一.前言 <Java魔法堂:类加载机制入了个门>中提及整个类加载流程中只有加载阶段作为码农的我们可以入手干预,其余均由JVM处理.本文将记录加载阶段的核心组件——类加载器的相关信息,以便日 ...
- Linux - 修复Ubuntu错误“System program problem detected”
The error "System program problem detected" comes up when a certain application crashes. U ...
- Web实时通信
学习SignalR,可以从<实时数据显示--SignalR实例演示>http://www.cnblogs.com/insus/p/5619422.html 开始. 此篇只是把数据库的数据实 ...
- ASP.NET Core实现OAuth2.0的AuthorizationCode模式
前言 在上一篇中实现了resource owner password credentials和client credentials模式:http://www.cnblogs.com/skig/p/60 ...
- WinForm菜单和工具栏
菜单和工具栏: 1.MenuStrip - 顶部菜单栏分割线:1输入- 2.右键插入 |SpearTOR 快捷键设置:每一个项右键属性的最下面可以设置快捷键不管选项隐藏还是菜单隐藏,快捷键都管用 2. ...
- WinPhone学习笔记(四)——磁贴
对每个Windows Phone的使用者来说,给他们的第一印象就是大大小小的磁贴——Metro,本篇介绍的是Windows Phone的磁贴,提到的有开始菜单的磁贴,也有在App里面的磁贴. 开始菜单 ...