写点什么

为知笔记:从 PC 软件到移动应用的选型思考

  • 2014-11-04
  • 本文字数:1168 字

    阅读完需:约 4 分钟

相比传统的 PC 软件,移动互联网应用服务对界面、业务逻辑与底层架构往往有着不同的需求,因此 PC 软件转型到移动互联网应用服务往往需要较大的重构工作。近日,InfoQ 中文站与为知笔记 CEO 李峻进行了沟通,了解为知笔记在客户端开发与后端架构设计方面的一些选型思考。

产品概述

为知笔记(WizNote)的定位是“协同工作”的云笔记类移动应用,开发于 2011 年,目前提供 PC、Mac、Linux、iOS、Android 客户端以及 Web 版本,现在已经在全国有 300 多万个人用户,20000 家企业用户。

为知笔记的前身是于 2001 年上线的 PC 端知识管理软件网文快捕(Cyber Article)。网文快捕可以做很多事情,包括网页收集、MHT 编辑、HTML 编辑、电子书制作等,但也因此过于臃肿。为知笔记的定位是轻量级应用,制作早期的想法是做多个电脑和手机上都可以随时使用的功能,就引入了云端托管以及客户端同步机制,因此大部分都是重新架构的,只有 Windows 客户端的核心组件来自于网文快捕(例如网页离线抓取、导入导出各种格式、格式解析、编辑器等)。同时为了提升客户端的速度,为知笔记引入了插件机制解决了不常用功能造成系统消耗的问题。

团队概况

为知笔记的两位创始人魏拾俊和李峻曾就职于金山软件,拥有 10 多年的技术开发和团队管理经验。团队目前 20 人,大部分都是研发。

技术实现上,每个客户端有专人负责。所有客户端中核心的 HTML 部分由于前端团队负责。架构、接口、规范和审查统一由 CTO 把控。

产品组和设计师共同负责产品设计和相关工作。

团队任务的优先级由几个纬度把控,由运营数据、行业判断、用户反馈等做判断依据。主要的纬度有两个:

一是创新优先。在保证基础功能品质的前提下,集中火力做解决用户痛点的创新功能以保持产品线的发展,如目前的研发重点是多人协同的一些特性。

二是跟随用户。根据目前国内用户的实际情况,团队主要聚焦在 iPhone 和 Android 上而放弃了 Windows Phone。优先完成 Windows,随着 Mac 用户增多,逐步完善 Mac 产品线。

架构设计

为知笔记以 SaaS 的方式提供企业应用服务,研发重点在前端与客户端。基础架构最初尝试过 AWS 国际版,由于速度原因放弃。在自己的服务器上运行过一段时间,后来于 2012 年 10 月完全迁移至阿里云。目前使用了 ECS、OSS、SLB、云监控与云盾,其中 ECS 大概在数十台的规模。

经过不断的调整,为知笔记目前是千万级用户的架构,其特点概述如下:

  1. 架构可以横向扩展。每增加 50 万用户,就新开一组服务,包括一套可用性互备的应用服务、关系数据库、存储服务、索引服务、协同服务等。
  2. 数据和计算服务可以拆分,用户可以选择独立服务,甚至把数据存在自己的阿里云帐号里。
  3. 使用 SLB 统一对外提供服务。
  4. 为海外用户提供代理跳板,在阿里云香港节点上。

扩容时新开服务器组需要手动配置,但操作简单。代码的部署和升级方面,现在提交到 Github 主干上的更新,服务会自动升级。

2014-11-04 00:462553

评论

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

滴滴前端二面vue相关面试题

bb_xiaxia1998

Vue

深入浅出防抖与节流函数

CoderBin

JavaScript 面试 前端 防抖节流 10月月更

使用less/css 动态的切换主题色实现换肤功能

默默的成长

前端 Vue 3 10月月更

页面中元素的吸顶

默默的成长

前端 Vue 3 10月月更

从react源码看hooks的原理

flyzz177

React

Java三大特性(三)—多态

共饮一杯无

Java 多态 10月月更

PriorityQueue 源码解析(四)

知识浅谈

Queue 10月月更

NFT链游系统开发丨Alien Worlds异形世界链游系统开发成熟技术(Demo)

I8O28578624

软件测试 | 测试开发 | 一文搞定 Appium 环境配置

测吧(北京)科技有限公司

测试

C++ | bool变量值在程序运行过程中自动篡改问题解决

中国好公民st

c++ 变量 10月月更

2022昇腾AI创新大赛16地区域决赛圆满落幕 32支队伍角逐全国冠军

极客天地

算法基础(六)| 双指针算法及模板应用

timerring

算法 双指针 10月月更

Vue的computed和watch的区别是什么?

bb_xiaxia1998

Vue

页面中元素的锚点定位

默默的成长

前端 Vue 3 10月月更

你真的了解redis持久化机制AOF吗?

芥末拌个饭吧

redis 后端 10月月更

linux下驱动开发_红外线解码驱动

DS小龙哥

10月月更

SparkSQL on K8s 在网易传媒的落地实践

网易数帆

大数据 spark Kubernetes Kyuubi 企业号十月 PK 榜

react源码中的生命周期和事件系统

flyzz177

React

React循环DOM时为什么需要添加key

beifeng1996

React

最大为 N 的数字组合

掘金安东尼

算法 10月月更

new Vue的时候到底做了什么

bb_xiaxia1998

Vue

pandas如何读写源数据

芥末拌个饭吧

pandas python 3.5+ 10月月更

React源码分析(二)渲染机制

goClient1992

React

React源码分析(三):useState,useReducer

goClient1992

React

vivo平台化实践探索之旅-平台产品系列01

vivo互联网技术

平台化 系统平台化

华为云从入门到实战 | 云容器服务

TiAmo

华为 华为云 云开发 10月月更

软件测试 | 测试开发 | Cypress 强大全新的 Web UI 测试框架应用尝鲜

测吧(北京)科技有限公司

测试

React的useLayoutEffect和useEffect执行时机有什么不同

beifeng1996

React

React面试八股文(第一期)

beifeng1996

React

嵌入式Linux下移植MT7601无线WIFI(网卡)驱动

DS小龙哥

10月月更

你了解Redis RDB快照吗

芥末拌个饭吧

redis 后端 10月月更

为知笔记:从PC软件到移动应用的选型思考_Android/iOS_sai_InfoQ精选文章