• 中文
    • English
  • 注册
  • 查看作者
  • 搞不定移动端性能,全球爆火的Notion从Hybrid转向了Native

    7月20日,Notion 笔记程序发布了版本更新,并表示更改了移动设备上的技术栈,将从webview逐步切换到本机应用程序,以获得更快更流畅的性能。

     

    该团队声称该应用程序现在在 iOS 上的启动速度提高了 2 倍,在 Android 上的启动速度提高了 3 倍。

     

    搞不定移动端性能,全球爆火的Notion从Hybrid转向了Native

     

     

    Notion发布的这条Twitter也得到了广泛的关注,几天之内就有了上千条转发。由于前几年Notion的技术栈一直没有公开,开发者对此充满了各种猜测,很多人认为Notion使用的是React Native或Electron,因此这次Notion宣称切换为原生 iOS 和原生 Android,再一次引发了“框架之争”。

     

    其中有不少人发表了“贬低”跨平台开发的看法,对React Native等框架产生了质疑,毕竟现在向跨平台过渡是不可避免的,这些框架是对原生工具包的一个“威胁”,而Notion恰恰又切换到了“原生”开发模式。

     

    实际上,在2020年之前Notion使用的是 React Native,随后切换到了Hybrid 混合开发模式:使用 Kotlin/Swift + 运行网络应用程序的 Web 视图。但移动端的性能一直是一个问题,2年之后,Notion再次切换到了原生开发模式。

     

    有网友认为,像Notion这样重UI和交互的产品,如果不知道如何掌握Web技术,那么对他们的产出速度表示担忧。面对这种吵翻天的状况,Notion 的前端工程师也因此再度出面回应这次切换的原因和一些思考。

     

    Notion的发展和理念

     

     Notion 是一款将笔记、知识库和任务管理无缝衔接整合的多人协作平台。Notion 打破了传统的笔记软件对于内容的组合方式,将文档的内容分成一个个 Block,并且能够以乐高式的方式拖动组合这些 Block,让它使用起来十分灵活。

     

    Notion由Ivan Zhao、Simon Last于2013年在旧金山创立。去年底,Notion获得了2.75亿美元的C轮融资。截至2021年10月,Notion估值103亿美元,在全球拥有超2000万用户。Notion的创始人和 CEO Ivan Zhao是一位80后华人。他出生于中国新疆,曾就读于清华附中,中学时随家人移居加拿大,现在被很多人认为将成为硅谷的下一个袁征(Zoom的创始人)。Ivan在大学时期主修认知科学,学习的是人的大脑怎么运作,外加对计算机也很感兴趣。

     

    搞不定移动端性能,全球爆火的Notion从Hybrid转向了Native

     

     

    Ivan也曾表示“我的很多朋友都是艺术家。我是他们中唯一会编码的人。我想开发一款软件,它不仅可以为人们提供文档或网页。” 因此,在 2012 年大学毕业后,在文档共享初创公司 Inkling 工作期间,他创办了 Notion。原本的目标是构建一个无代码应用构建工具,不过项目很快失败了。随后Ivan与Simon迁往了日本京都,待了一年左右,小而安静的地方能“让我们专注在写代码”,在相对无压力和与世隔绝的环境下,构思并设计出了现在的Notion原型。用Reddit论坛上的一条获得高赞的网友总结就是:一个Notion = Google docs + Evernote + Trello + Confluence + Github + Wiki +……

     

    “工具应该模仿人脑的工作方式。但由于每个人的思维和工作方式都不同,这意味着工具需要非常灵活。”Ivan解释道。而Notion创建的目的,就是将用户从一堆各式各样的生产力工具之中解放出来,给予一个干净清爽、简便易行的All in One工作平台。企业用户也可以在Notion 上基本实现公司的内部管理所需要涉及到的所有功能。包括公司知识库和资料库的创建与管理、项目进度管理、信息共享、工作日志、内部社交、协作办公等等。

     

    搞不定移动端性能,全球爆火的Notion从Hybrid转向了Native

     

     

    有人甚至说,Notion堪比办公软件届的苹果。在2016年发布1.0版本后,因其独特的设计、专注于将事情做得更好、对投资人的冷淡态度,外加疫情远程办公潮,多方面因素让Notion迅速火遍全球。作为一款 All in one 的概念型工具,Notion 一直被众多企业抄作业,但它目前几乎未逢敌手。

     

    Notion为什么要两次更换技术栈?

     

    Notion在2017年、2018年分别发布了iOS客户端和Android客户端。在发布2.0 版本之后,该公司于2019年以 8 亿美元的估值筹集了 1000 万美元的资金。但也许和创始人的发展理念相关,Notion的员工数量一直不多。

     

    2019年3月的时候,工程团队总共才4个人,当时Notion用React Native 来渲染 web 视图。Notion在 Twitter 上解释说,这是为了更快地部署新功能和进行一些其他修复。

     

    但如果这个系统适合开发者,那么它对用户来说远非最佳:许多人抱怨移动版本非常缓慢。“即使是新 iPhone 也非常慢 – 大约 6-7 秒后我才能开始输入笔记。到那时我都快忘记了我之前想写什么。它基本上是一个非常重的 web 应用程序视图。”“如果Notion不选择改变,那么它将迅速被其它同类产品取代。”……

     

    搞不定移动端性能,全球爆火的Notion从Hybrid转向了Native

     

    搞不定移动端性能,全球爆火的Notion从Hybrid转向了Native

     

     

    2020年,Notion第一次因这个问题,更改了技术栈,放弃React Native,切换到了Hybrid 开发环境。

     

    Notion前端负责人Jake Teton‑Landis表示,“React Native 的优势在于允许 Web 开发人员构建手机应用程序。如果我们已经有了 webview,那么 React Native 不会增加价值。对我们来说,它让一切变得更加困难:性能、代码复杂性、招聘等等。用 React Native 快速完成任务的同时,也在跟复杂性战斗,这让我们感觉束手束脚。”

     

    虽然这次移动端的性能有了一些提升,但也没有根本解决问题,更新之后,Android端依然是一个相当大的痛点。

     

    搞不定移动端性能,全球爆火的Notion从Hybrid转向了Native

    Notion也曾在2019年的时候表示不会很快发布本机应用程序,但他们同时强调“原生开发也是一个选择”。

     

    7月20日,Notion 发布了版本更新,并表示将从主页选项卡开始,从webview逐步一个个地切换到本机应用程序。

     

    此时Notion工程团队也大约只有100人, 总共包含 3位 iOS 工程师、4位 android 工程师,除主页使用SwiftUI/Jetpack Compose 进行渲染,其他部分仍然是 webview进行绘制。

     

    “似乎这还是招聘不足产生的人员问题。”Jake解释说,“我们的策略是随着团队的壮大逐步本地化我们应用程序的更多部分。我们这个程序必须使用本机性能,如果它是原生的,则更容易达到这个性能要求。

     

    凭借我们拥有的经验,以及对问题的了解,我们因此选择了原生 iOS 和原生 Android开发。虽然出于复杂性的权衡,在可预见的未来,编辑器可能仍然是一个 webview,毕竟Google Docs、Quip、Dropbox Paper、Coda 都使用原生 shell、webview 编辑器。”

     

    原生开发才是王道?!

     

    虽然无论是原生开发还是Hybrid都可以完成工作,但原生应用程序是按照操作系统技术和用户体验准则开发的,因此具有更快的性能优势,并能轻松访问和利用用户设备的内置功能(例如,GPS、地址簿、相机等)。

     

    Hybrid开发方式,通常是在面对市场竞争需要尽快构建并发布应用程序时候的一种选择。如果期望的发布时间少于六个月,那么混合可能是一个更好的选择,因为可以构建一套源代码,跨平台发布,与原生开发相比,其开发时间和工作量要少得多,但这也意味着需要做出许多性能和功能上的妥协。

     

    如果有足够时间,那么原生方法最有意义,可以让应用程序具有最佳性能、最高安全性和最佳用户体验。毕竟,用户体验是应用程序成功的关键。互联网正在放缓,人们使用手机的时间越来越长,缓慢的应用程序意味着糟糕的业务。在这种情况下,对Notion来说,拥有一个快速应用程序比以往任何时候都更加重要。

     

    参考链接:

  • 0
  • 0
  • 0
  • 188
  • 请登录之后再进行评论

    登录
  • 任务
  • 实时动态
  • 发布
  • 单栏布局 侧栏位置: