写点什么

为知笔记:从 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:462307

评论

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

阿里云联合“产学研媒”发起BizDevOps共促计划,助力企业提升组织效能

阿里技术

研发效能 数字化转型

一文解读机密容器的崛起和发展

云布道师

龙蜥

解读Java内存模型中Happens-Before的8个原则

华为云开发者联盟

Java 开发 华为云 12 月 PK 榜

MySQL的数据类型和存储引擎介绍

C++后台开发

MySQL 数据库 中间件 后端开发 存储引擎

Nginx学习笔记(一)HTTP核心配置指令

Starry

云起无垠入选《ISC 2022数字安全创新能力百强》

云起无垠

请求量太大扛不住怎么办?进来学一招

捉虫大师

Go 性能优化

不止于大,如何打造优秀的折叠屏应用体验

HarmonyOS开发者

HarmonyOS

ShineScrum捷行2022年最受欢迎的五篇文章回放

ShineScrum

PO 用户故事 项目经理 PRD 团队工作效率

Coinbase或在不久使用Zebec发放工资,并对Web3支付赛道发展寄予厚望

西柚子

YonBuilder移动开发平台AVM框架 封装滑动单元格组件

YonBuilder低代码开发平台

开发者 后端 移动开发 avm.js AVM

践行开源理念,统信软件开放服务器操作系统UOS V20使用授权

统信软件

操作系统 服务器 国产化 免费

Coinbase或在不久使用Zebec发放工资,并对Web3支付赛道发展寄予厚望

鳄鱼视界

教你用JavaScript实现背景图像滑动

小院里的霍大侠

JavaScript 编程入门 实战案例 图像滑动

低代码开发平台YonBuilder移动开发,开发阅读APP教程

YonBuilder低代码开发平台

App 低代码 移动开发 阅读 开发.

什么样的CRM,才值得企业为之买单呢

ToB行业头条

喜讯|云起无垠实力入选《2022年度中国数字安全能力图谱》

云起无垠

CAS Fuzzing

作为程序员,12款常用的软件!

千锋IT教育

户外LED显示屏技术

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

消除视觉Transformer与卷积神经网络在小数据集上的差距

华为云开发者联盟

人工智能 华为云 12 月 PK 榜

Coinbase或在不久使用Zebec发放工资,并对Web3支付发展寄予厚望

股市老人

数据报告 | 非洲电商市场分析报告

前嗅大数据

数据报告 电商报告

网易云音乐用户画像资产治理及业务赋能

网易数帆

数据仓库 数据治理 数据资产 12 月 PK 榜

TiCDC 源码解读(2)-- TiKV CDC 模块介绍

TiDB 社区干货传送门

我和 TiDB 的故事 | TiDB 仓库 commit TOP 1,PR 数超过 1000 的阿毛哥

TiDB 社区干货传送门

人物访谈

问答知识库快速构建技术解析及行业实践

中关村科金

人工智能 大数据 AI 知识图谱 技术实践

Go 中这么多创建 error 的方式,你真的了解它们各自的应用场景吗

Go学堂

golang 开源 程序员 个人成长 12月月更

V8的垃圾回收和内存限制

千锋IT教育

Java开发如何通过IoT边缘ModuleSDK进行进程应用的开发

华为云开发者联盟

开发 数据处理 华为云 12 月 PK 榜

What's new in Dubbo 3.1.4 and 3.2.0-beta.3

Apache Dubbo

Java 开源 微服务 dubbo RPC

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