混沌周刊 #0 | Basecamp人设崩塌,苹果又火了

Hello. 这里是混沌周刊,每周会分享一些从开发者视角值得一看的消息和文章,也会包括我自己在做的有趣的事情。通常来说,这个频道通常会每周一更新,可以从多个地方获得内容。这是创刊号,编号当然就是——第零期啦。

先来聊聊技术圈的新闻。

🛤️ Basecamp off Rails

Basecamp引发的风波1已经影响到公司之外。包括Sam StephensonGeorge Claghorn在内,多位Basecamp出身的Ruby圈大佬宣布退出社区。在社区论坛上,也有人公开发文,希望社区核心管理层能够正视这次事件的影响,让Rails社区更包容和透明,否则Rails的发展会受更大影响。作为Rails开发者,大家都不希望这个传奇框架因为这些问题死掉。在压力之下,Rails Core Team也发文强调:Rails社区的决策公开透明,没有哪位个人有绝对权力。

不久前才读完Basecamp两位联合创始人十年前所著的《重来》,其中不少理念,比如「给产品做减法」「敢于对客户说不」「避免不必要的加班和会议」「万不得已不融资」,看起来都和当代互联网创业哲学相悖,却又振聋发聩。多年来Basecamp推广远程办公,强调小而美,一直保持着良好形象,影响了诸多创业者。大概正因如此,这次事件才影响甚大,褪去创业光环。

在产品之外,这家公司对业界的影响也极其深远。作者之一的公司CTO David Heinemeier Hansson一手打造并开源了Rails框架,不仅影响了后来Laravel在内的不少框架,还带起来使用Mac电脑的风气。苹果甚至和公司合作拍过一个Mac宣传片。讽刺的事情是:Basecamp的另一个产品,Hey,因为应用内购买问题被苹果下架App Store,逼得他们加入了和Epic一起反抗苹果的联盟。不过,想想Epic以前也多次在苹果发布会露面,好像也没什么好奇怪。没有永远的朋友。

这些退圈贡献者们曾经创造了大量有新意的项目:rbenv后来被Python、NodeJS、Go、Perl等多个语言借鉴;Sprockets,从推出时间看,可以相信它对前端社区如今的构建工具们产生了影响;还有Prototype.js、Turbolinks、Stimulus等等「鸡刀」。虽然今时今日重前端兴起,Rails不复当年辉煌,还是希望社区能够继续健康发展,整点新花样。

除了Rails,Ruby社区也开展了是否不再使用master和slave词语的讨论。Matz(松本行宏)老先生的意见是:

  • 不涉及slave的单独master没有问题(比如git分支名)
  • 不应该为了政治正确而去破坏兼容性(比如修改已有API)
  • 不要去修改历史(比如替换Changelog里的master/slave)
  • 除此之外的词汇更新是可以的

因为Rails社区对这件事的反应激烈得多(git主分支已经改为main了),不知Ruby社区中这个回应是否会引起大量反对。不过从务实的角度说,Matz的这几条原则倒是可以给后来的社区做参考。联想到前面Rails社区包容性的讨论和更早以前LLVM社区因为Outreachy项目造成的风波,每一个开源项目的拥有者,也许都需要思考,如何和这些问题共处,如何在保证更多人参与的同时不破坏项目的价值。

🦀️ 用Rust写前端?

众所周知,Rust社区一大重点就是WebAssembly。Rust整套工具链对生成WebAssembly字节码非常友善。于是乎,在(后端)苦JavaScript久矣的今天,Rust社区让你可以用基于Rust的类JSX语法写前端咯。参考Yew框架

fn view(&self) -> Html {
  html! {
    <div>
      <button onclick=self.link.callback(|_| Msg::AddOne)>{ "+1" }</button>
      <p>{ self.value }</p>
    </div>
  }
}

这和rails-ujs那套后端模版输出AJAX,或者ASP.NET的重型封装都不一样。这里的框架是真的把Rust编译到了可以直接在浏览器运行,不依赖后端的WebAssembly代码。只需要在入口处用JavaScript桥接即可。其实在WebAssembly出现之前,也有通过编译到JS来在前端跑多种的探索;另外像.NET的Blazor WebAssembly也有类似的方案。

但目前来看,这些框架更像是一种技术探索,和直接在前端用MVVM框架比起来没有特别优势(考虑到JS也要重新编译,好像也没有什么劣势),WebAssembly的侧重点也不是取代JavaScript,而是提供一种在浏览器环境中突破JavaScript性能瓶颈的方法。但我们也很期待,技术成熟之后产生有实用价值的框架,在前端做到真正的百花齐放。

BTW,有一个笑话:为什么Rust的吉祥物是一只红色的螃蟹?因为编译Rust对CPU压力太大,热得螃蟹都熟了。

🔥 Mad! Safe?

说到发热这件事你会想起什么呢?自信的Intel?火龙888?唔,还有大洋彼岸那家卖水果的公司。一面是在笔记本上借助M1芯片优秀的温度表现,一面是手机上令人发指的散热设计。最近随着气温上升,不少用户都反映自己的iPhone在户外暗到根本看不见,甚至不用等到玩游戏降频。而如果你还是像我一样搭配MagSafe使用iPhone 12的用户的话,只能道声恭喜。微博上甚至有网友利用散热背夹和iOS捷径制作了一个MagSafe降温器。好消息是,有人暗示称后续iPhone机型将在散热上做出明显改进。所以十三香没有骗我们咯?

经历了2019年「拨乱反正」和人事变动的苹果,似乎从2020开始玩起了复古的把戏,从iPhone 12的直角边框,到多彩颜色的iMac,仿佛是要昭告世界自己还是从前那个少年。MagSafe自然也是从历史长河里翻出来的名字,而且强行蹭情怀的感觉明显——一个从背后吸在手机上的磁铁怎么做到笔记本那样的Safe?

MKBHD倒是戏谑地点出了这个名字的由来:充电峰值15W,对手机来说当然很Safe. 另一个类似的取名例子是iPad Pro的Magic Keyboard(妙控键盘),和iMac附带的那个蓝牙键盘同名。实话说,我很难理解苹果这种「反SEO」的行为。考虑一下一直存在的「下一代MacBook Pro要加回MagSafe和SD卡槽」的流言,也许苹果就是想要告诉用户,它们其实是同一个东西?毕竟,M1芯片都从iPad横跨到iMac了。

另外,iOS 14.5.1推送更新后,不断有用户反映此更新使CPU发热严重,使用降频。鉴于目前已经不能降级回14.5,有此烦恼的用户可以考虑升级iOS 14.6 Public Beta,苹果在更新通知中已经说明修复此问题。对于目前的iOS来说,追Public Beta和用正式版其实没那么大区别了,毕竟正式版这个Bug数量也不像一个稳定版的样子…

📖 在阅读什么

  • 前面提到的《重来》。尽管Basecamp最近的事件使他们有些「人设崩塌」,但这本书的确值得有创业(无论主业还是副业)想法的人一读。
  • 《程序员修炼之道:从小工到专家》,这应该是很多业内人士推荐过的书了。原书出版于1999年10月,距今已廿年有余。虽然其中提到的技术名词兴许过时,但理念却像《UNIX编程艺术》般常读常新。(巧合的是,二者都强调过纯文本格式的重要性)全书亮点颇多,但让我记忆最深刻的一句话还是:学习技术就是一种投资,要在低点买入才能在高点获得收益。
  • Founding vs. Inheriting. 文章提出一个概念,只读文化(Read-only Culture),人们从前代继承了文化、体制、技术,但不做改变,难免成为一潭死水。世界需要继承之外的,从无到有的创新。不禁联想到马前卒在节目里喜欢说的「我们在面临一个人类诞生以来从未出现过的问题,因此也需要一个从未实践过的解决办法」。
  • What Happened When I Switched From Mac to Windows. 来自《Wired》的一篇文章。作者无法忍受2016年后Mac的若干缺点,于是购买了惠普的Spectre笔记本。Windows笔记本相比Mac的优点:触摸屏、接口丰富、游戏、Windows Hello;缺点则是:磁盘路径不统一、更新不便、快捷键混乱、(多平台)软件不受优先支持。作者最后也提到16寸Mac发布以来,苹果解决了一部分问题,但还有一个根本性问题没有搞定(可能也不愿意搞定)——贵。
  • Developer First. 不算新鲜的观点。很多工具的用户并不是电脑小白,而是有折腾能力的开发者。但面对这些特殊的用户,也要让工具的使用尽可能简单。框架、库、语言、API设计大概同样适用。

🤯 有的没的

  • Ruby Conf China 2021开始征集讲师了!报名截止日期是6月15日,举办时间是今年8至9月,地点在上海。
  • 最近坐飞机比较多,发现最适合阅读的场景就是机舱。有没有人突发奇想做一个模拟飞行环境的阅读室呢?
  • Pixelmator Pro在Mac App Store降价到128¥了,有需要的朋友可以入手。
  • 微信小程序宣布将不再支持跳转到App的功能。我之前想给周刊开一个公众号,结果微信提示一个人的身份最多绑定五个小程序和公众号,而且长期未使用的公众号冻结之后甚至没办法方便地解绑。微信生态在国内是真的稳固,而且从评论区看上去,广大普通用户们好像很吃这一套。R.I.P., Web.

第一期栏目就到这里啦。最近工作比较忙,内容相对单薄了些。希望自己能够坚持到第10期,第100期…

下周再见!

1 Basecamp因为公司内部有关讨论政治的规定引发了轩然大波,相当一部分员工受不了公司政策而离职。Basecamp是一个帮助企业进行项目管理的SaaS服务,公司前身叫37signals.


8 comments

  • 🎉祝贺创刊!很有意思的 emoji 标题。
    关于「小程序宣布将不再支持跳转到App的功能」,我在大众点评和拼多多(百亿补贴商品)小程序遇到过这个场景。这对 Web 生态有什么坏处吗?

    • 其实我们很难说小程序和App哪个更反Web,就像青菜和菠菜哪个更像蔬菜一样。但总的来说,原生App意味着更丰富的权限,对用户和开发者双方都更大的自由度(Android不必说,即使是安装App途径限制严格的iOS,应用下架后你至少能继续使用),还有从浏览器跳转和跳转到浏览器的功能。

      小程序在普通用户看来是技术创新,但实际上更多是商业意义上的产品。它在国内替代了PWA承载的任务,但却比PWA更封闭,甚至体验也更差。如果单论「不用安装就可以使用」这个优点,苹果的App Clip和安卓的快应用也可以做到。无他,惟生态尔。所以说商业意义远大于技术意义。

  • 加油!!!
    第一步最难, 你已经走出来了, 我还没走。
    哈哈

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注