岁寒输入法之洛书河图

岁寒输入法之洛书河图
文章图片
岁寒输入法新版图标 设计者:RogerReal 河出图,洛出书,圣人则之。
今天,岁寒输入法在安卓平台的第4个版本正式发布,这是一个全新的版本,也一个新的开始,是岁寒输入法的一次再出发,标志着岁寒输入法跨平台实现的战略目标初步达成,统一的代码、统一的界面、统一的操作、统一的文件(词库、主题包、词条格式都已统一,未来还将引入用于分享布局的统一文件格式)、统一的体验。
为了便于区分两个平台的版本和安卓平台的新旧版本,仿照Rime输入法的做法,我决定对两个平台的版本分别取一个中文名,斗胆一窃古人文慧,将iOS平台的1版本取名为:洛书,将安卓平台的4版本取名为:河图。

iOS -洛书 Android-河图
岁寒输入法之洛书河图
文章图片
岁寒输入法之洛书河图
文章图片
之所以取洛书河图之名,是因为这两本书皆暗藏九合之数,其在本质是统一的,与“洛书”、“河图”的要体现的统一性是相吻合的。
统一的键盘界面
洛书 河图
岁寒输入法之洛书河图
文章图片
岁寒输入法之洛书河图
文章图片
统一的主程序设置
洛书 河图
岁寒输入法之洛书河图
文章图片
岁寒输入法之洛书河图
文章图片
统一的主题包功能
洛书 河图
岁寒输入法之洛书河图
文章图片
岁寒输入法之洛书河图
文章图片
诸如此类,洛书与河图在外观上如出一辙。但这种统一不仅仅只是外表的统一而已,更重要的是,洛书河图的内里也是统一的。
【岁寒输入法之洛书河图】洛书河图使用Xamarin技术实现,共用了80%以上的代码,剩下的20%是为了使程序能够在特定平台上的运行而编写的,即使这部分代码是针对特定平台的,但他们在实现的逻辑层面上也是几乎一致的。关于技术上的问题,可以参考我之前写的另一篇文章:我为什么选择Xamarin。时隔一年多,我终于实现了文中所预定的目标。
为何要重做安卓版?
不像岁寒输入法3与岁寒输入法1和岁寒输入法2那种差别,河图与岁寒输入法3仍然是同一个输入方案的实现。而已经有了一个功能丰富的岁寒输入法3版本,为什么还要重做一个功能相近的河图呢?
理由有四:
  • 一是为用户提供一致的体验;洛书河图了几乎完全统一的“外部”,用户可以平滑地从一个平台过渡多另一个平台;对于同时使用两个平台的用户来说,这个平台上的使用经验,在另一个平台上也是适用的,不会产生割裂感;通用的词库格式和主题包等可以让用户自由地在平台之间来回切换。
  • 二是改善输入法的使用体验,使其对新手老手都变得更友好;岁寒输入法3中有不少功能对新手而言比较难以掌握,有些问题几乎每一个新手都会问一遍,这说明在人机交互设计上岁寒输入法是存在缺陷的。河图的出现,就是为了修复这些缺陷,使岁寒输入法更易用,更强大,也更加人性化。
  • 三是岁寒输入法3的代码结构已经老化变质,非推倒重来不可;一直以来,有很多用户向我提出了不少极有价值的建议,但有些建议我一听就觉得头疼不已。头疼不是因为他们提的建议不好,而是要在岁寒输入法3既有的代码体系中加入这些功能,艰难而困重。开始编写岁寒输入法3的代码是在5年以前,那时,我选择自己使用代码来绘制键盘的界面,必须承认的是,这个决定极大地锻炼了我的编程水平。经过多年的迭代更新,我认为岁寒输入法3的代码已然积重难返,重做势在必行。
  • 四是使双平台的维护更新工作进入同步运行轨道;如果iOS平台和Android平台都使用各种的原生技术开发,在实现上彼此分割,也就意味着在一个平台上做好的功能,在另一个平台上还要重新再做一次;这还罢了,更可怕的是,两个平台会存在大量互不相关的bug,我要面临同时维护和更新两套代码的尴尬境地。提高编程效率是提高程序质量的大前提。因此我没有选择分别用Java去实现Android平台的岁寒输入法,用Objcet-C或swift去实现iOS平台的岁寒输入法,而是使用基于C#的Xamarin技术栈去实现一个代码共享的跨平台岁寒输入法,相当于是通过绕远路的办法抄了近道吧。
收费策略
河图推出后,岁寒输入法会继续延续之前安卓的免费策略,通过自由捐赠获得收益,而洛书依然会是收费的。这并非我是厚此薄彼,而实在是安卓生态难以实施付费使用的策略,而相比之下,iOS生态对开发者而言要更友好一些,当然部分原因也是iOS开发成本更高一些,比如每年99美元的开发者证书,所以希望iOS平台的用户能够见谅。
未来如果可能,我会推出一些内购功能,然后取消付费使用方式,在两个平台上执行相同的收费策略,届时希望大家能够给予理解与支持。
发展路线
河图虽然已经发布了,但相比之岁寒输入法3在功能上还是稍有欠缺的,毕竟岁寒输入法3已经更新迭代多年,积累了相对丰富的功能,但我可以保证的是,未来河图的功能将比现在的岁寒输入法3只多不少,而且只要技术上允许,洛书河图的功能性会继续保持这种一致性,并在适当的时机推出基于网络的服务功能,比如在线的主题包分享、在线的词条分享甚至是词库的云备份功能等等,敬请期待。
写在最后
我开始编写第一版岁寒输入法的时候,还是一个二十出头的毛头小伙,岁寒输入法走到现在第四个版本了(算是iOS平台,可以算四个半),而如今的我,已经是马上奔三的人了,再自居是年轻人就显得有些恬不知耻了。在这些年的成长过程中,我明白过来,自己的资质其实平庸无奇,那种自命不凡的风发意气已经从我身上渐渐褪去,蜕变成一种叫做执着的品质,我唯一懂得的东西叫坚持,我咬着牙告诉自己,青春可以死去,但梦想不行。

    推荐阅读