摘自Hacker Noon:Hyperapp 1.0版简介

原文出处 Introducing Hyperapp 1.0 ? – Hacker Noon

摘自Hacker Noon:Hyperapp 1.0版简介????

用大小为1KB的JavaScript库创建网站程序

今天,我怀着激动的心情宣布Hyperapp 1.0版发布!

这是本项目的一个重要阶段,标志着其API接口终于制作成功,能稳定使用了。我们花了几乎一年的时间才把API接口做成现在这样,虽然问题总是会有的,但完成胜于完美,而且我对结果非常满意。

谢谢各位,为Hyperapp投入了时间,提出了反馈,还编写了代码!❤️

Hyperapp是什么?

有人没听说过Hyperapp库,那就由我来介绍一下。Hyperapp是一个新型JavaScript软件库,可以用来创建能在浏览器上快速运行,且功能丰富的程序。它是市面上最小的库,仅1.3KB,非常简单,使用起来也很有意思。

Hyperapp的架构借鉴了React框架,Redux库,和Elm库,融合了我自己的想法和群体成员的反馈。下面是一个例子,显示了各组成部分如何一起运行。在CodePen上可以看一下实际演示

import { h, app } from "hyperapp"

const state = {
  count: 0
}

const actions = {
  down: () => state => ({ count: state.count - 1 }),
  up: () => state => ({ count: state.count + 1 })
}

const view = (state, actions) => (
  <main>
    <h1>{state.count}</h1>
    <button onclick={actions.down}>-</button>
    <button onclick={actions.up}>+</button>
  </main>
)

export const main = app(state, actions, view, document.body)

Hyperapp并不依存JSX语言,也不是一定要用到,但为了方便熟悉,我们在文档与实例里一直会用这个语言。

或者也可以用内置的_h_函数,它是hyperscript的简称,或者用hyperapp/html函数,hyperx模块和t7库。

Hyperapp的诞生是为了让我们能以更小的库做更多的事。我一直想尽量减少依存关系,写出更简洁的软件,Hyperapp给了我信心,证明事实上是可以做到的。Hyperapp本身就自带VDOM引擎状态管理功能,支持键控更新和周期事件,无须依靠任何别的库。

下一步是什么?

2018年第一季度已经计划好了,其中有一些部分很不错,包括向Hacker News项目https://hnpwa.com提交渐进式网站程序(PWA),以及给RealWorld软件实例集加入新的范例实现方法。

我还想完善文档,并花更多功夫在生态圈与工具上,包括基础模板、软件打包、开发者工具整合等。如果大家对我们的改进有什么想法,请参与我们的讨论,可以上Slack群,或在GitHub上提交差错报告。我们在Reddit也有板块!


如果已经在用Hyperapp做出了什么好东西,请在推特@HyperappJavaScript!上告诉我们。 祝大家玩得开心,2018年快乐!????????