authors are vetted experts in their fields and write on topics in which they have demonstrated experience. All of our content is peer reviewed and validated by Toptal experts in the same field.
凯文·布洛赫
验证专家 在工程
8 的经验

Kevin has 20+ years among full-stack, desktop, indie game development. He lately specializes in PostgreSQL, JavaScript, Perl, 可把.

分享

编辑

web开发人员在他们的技术堆栈中寻找什么? I think it mainly comes down to two types of performance: You want rapid development and you want the UI to be snappy. 听起来很简单.

But the implied context is a set of mechanics that, above all, work correctly. Underneath all JavaScript frameworks and technologies are choices among paradigms: functional versus object-oriented programming, MVC, MVP, MVVM, 等等....... These choices are heralded by various meta-developers as the best way to avoid hurting ourselves because there are plenty of pitfalls in front-end development.

换句话说, 前端开发人员 will need what they’ve always needed: 技术 that makes state management simple and reliable, 即使在复杂的情况下.

通常,我们这些普通人需要选择要使用的JS框架 现在而不是经过数周的研究. 在这种情况下,默认值是明确的:使用您所知道的.

但是当我们对我们所知道的失望时, we might take a step back: “Dependency injection makes sense to me, so which DI-based framework delivers the smoothest developer experience?(如果你真的懂的话,你可能会懂 在不使用JS框架的情况下做自己的DI.)

Or maybe the stacks we’re familiar with are no longer cutting it in terms of performance. Especially if you’re interested in supporting the ever-growing segment of the population with 比一般开发人员使用的机器更弱的机器, 也许你会问, “Which front-end JavaScript frameworks deliver a reasonably fast UX on low-end hardware?”

做出明智的选择(祝你好运!)

几乎总是有比时间更多的选择 正确选择. 即使只是选择 Vue.js, 反应, 对新来者来说很困难:很容易找到 有人在争论为什么.Js对每个项目都是最好的,毫无疑问 而且很容易找到 someone who isn’t quite as convinced, two years after switching from 反应. 不过,也有人会提出异议 最好的方法是完全避免使用框架从各种“微前端”构建应用程序. So how do you navigate this, especially if you’re open to choices beyond The Big Three?

而不是尽其所能, we’ve assembled a taste of various client-side approaches that professional developers in the Toptal network have had experience 在 a JS context: AMP, 苗条的, 周期.js、Mithril、Hyperapp、Preact和水母.

In the comparison table we put together for the main article, I had originally asked each author whether they thought the JS framework they covered lived up to its aspirations. 我省略了这个,因为 每个案例的答案都是 是的! If this is true, why aren’t more people using these different JavaScript frameworks?

前端框架流行度和临界质量

获得可靠的使用数据总是很困难的, but these projects are all firmly-established enough to be practical alternatives. 的确,在职业环境中, you want to make it easy enough to hire someone with appropriate experience to maintain or extend your code. This carries considerable weight, especially with project managers.

但与这种想法相对应的是 可维护性不一定与受欢迎程度有关. 游戏总是在变化, it’s more important to produce code that future developers can understand, even if they’re not specialized in its particular dependencies. 三年后, 角 developers won’t be waiting around to work on your legacy project, after all—they will have shifted their focus by then as well, 即使只是更新的架构 角的世界.

Some of our authors assume outright that the alternatives they cover here will never become “the next big thing.希望在那里, 而不是, is that their existence provokes the most popular JS frameworks to adopt their best features. They would answer our title question: To be brutally honest, 也许不是. 尽管如此, 就像任何技术替代品一样, 专业开发人员可以从探索中学到很多东西.

Also, you never k现在—some of these approaches are learning from each other. Vasiliy Ruzanov details in our main article how the Elm Architecture is finding its way into front-end development via Hyperapp. 一位Mithril JS开发者对此表示赞赏 新的苗条的 JS基本上有Mithril JS流; as Justen Robertson describes for us, streams are also key to the architecture of 周期.js.

The smaller development communities inherent to alternative JavaScript tech may be able to shift gears more nimbly than those of mainstream JS frameworks. 这会帮助他们获得牵引力吗? 我们拭目以待.

从AMP JavaScript, 苗条的 JS, 周期中可以学到什么.Mithril js、Hyperapp js、Preact js和水母 js?

Maybe you end up using these modern JS frameworks and other front-end technologies for a serious project. Or maybe you experiment with them and decide to stay mainstream. 无论哪种方式, 我们希望在我们的前端综述中, you’ll at least discover something inspiring—something that helps you see web development in a new way. 你会发现 我们的前端框架比较 comes complete with an apples-to-apples companion demo for each of the technologies we cover. 享受!

了解基本知识

  • 有JavaScript的替代品吗?

    JavaScript is the only general-purpose language supported natively by browsers, but dozens of languages and extensions compile (or “transpile”) to it, 比如TypeScript, 飞镖, 可把, Erlang, 和Clojure.

  • Preact比反应快吗?

    大多数时候,Preact比反应快. 在某些极端情况下,它会更慢. Meanwhile, its loading time is faster because its bundle size is considerably smaller.

  • 有多少JavaScript框架?

    数量太多,难以计数,而且每个月都有更多的新产品诞生. The alternatives we showcase here have all been actively developed for years, but compared to Vue.js、反应和角,它们都是相对小众的.

  • 最常用的JavaScript框架是什么?

    Vue.js, 反应, 和角是使用最广泛的三个JS框架, 但是使用数字是不可能精确确定的. Besides, the question itself is ambiguous: Are we counting projects? 他们的开发人员? 他们的最终用户? 终端用户每天使用它的平均时间?

聘请Toptal这方面的专家.
现在雇佣
凯文·布洛赫

凯文·布洛赫

验证专家 在工程
8 的经验

Bergerac、法国

2017年1月31日成为会员

作者简介

Kevin has 20+ years among full-stack, desktop, indie game development. He lately specializes in PostgreSQL, JavaScript, Perl, 可把.

authors are vetted experts in their fields and write on topics in which they have demonstrated experience. All of our content is peer reviewed and validated by Toptal experts in the same field.

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

Toptal开发者

加入总冠军® 社区.