您的位置:beat365亚洲官方网站 > 互联网资讯 > 2016年JavaScript领域中最受欢迎的“beat365亚洲官方

2016年JavaScript领域中最受欢迎的“beat365亚洲官方

2019-11-13 15:52

但事实证明,自己构建生产就绪的服务器端渲染非常困难。它需要很大的工作量,并且很难为开发人员和用户提供良好的体验。

Gatsby

新来的Gatsby是一个非常有趣的解决方案,它从竞争对手脱颖而出,因为它使用React生态系统来生成静态html文件。事实上,您可以组合React组件,Markdown文件和服务器端渲染使它非常强大。

学到的第 5 课:在考虑新技术时要谨慎,偏向保守的选择。

TypeScript

最时髦的转换器是TypeScript,它为Web开发人员提供了Java和C#开发人员使用的静态类型。事实上,Angular 2使用TypeScript增加了更多的牵引力。在JavaScript中使用类型有优缺点,阅读这些文章,使你自己的观点:

学到的第 6 课:开放路线图,了解用户的优先事项。

JavaScript社区的发展正如盛壮之时的骐骥,—日而驰千里,趋势如长江后浪推前浪。

可惜的是它效果并不好。即使经过数月的努力,我们的用户仍然在不断抱怨,说编辑器真的很难用。最重要的是,编辑器的库占了我们 Java 包大小的大部分,而且缺乏跨浏览器支持意味着我们必须将普通文本输入作为后备选项。

Jest

Jest,另一个Facebook项目,在过去的几周里得到了很大的牵引力。它在React社区中是众所周知的,越来越多的人转向Jest(阅读这篇故事来了解),它可能成为2017年最流行的测试框架。

Jest有内置的良好的模拟能力,而其他测试框架通常依赖于像Sinon.JS这样的库。

事实证明,changefeed 的可扩展性并不如我们预期的那样好。虽然我们设法解决它,但我们原本没有必要这么做。

Feathers

Feathers是一个非常灵活的解决方案,创建一个“面向服务”的架构,它是一个很好的适合创建node.js微服务。

最重要的是,我们应该已经对网站的移动版本进行了优化。如果移动体验做得足够好,即使是在桌面上也是可接受的,只需要做一些调整即可。然而,桌面体验在移动设备上的表现就有点令人生厌了。事实证明,不管我们做得多么好,都难以在各种尺寸的设备上有良好的表现。

Sails

Sails是一个完整的MVC框架,受Ruby on Rails的启发(因此名为Sails!)。它已经存在了很长时间。它可以与任何类型的数据库(SQL或无SQL)良好工作。

我是 Max,Spectrum 的技术联合创始人。Spectrum 是一个面向大型在线社区的开源聊天应用程序,最近被GitHub 收购。我们是一个三人团队,主要拥有前端和设计背景,我们在这个项目上工作了近两年时间。

React Native

使用React Native,你可以从相同的代码库使用React开发人员熟悉的概念构建iOS和Android真正的原生移动应用程序。要了解有关构建iOS和Android应用程序的更多信息,请阅读这本教程

其他基于Cordova的解决方案,依靠WebView来渲染屏幕,并且不如原生解决方案那么高效。 “一次编写,随处运行”,这是开发人员的梦想成真!

Spectrum 的很大一部分吸引力在于内容是公开的和可搜索的,所以我们在开发原生应用之前先开发了网站。

Visual Studio Code

在我们的结果中,Microsoft凭借Visual Studio Code遥遥领先。

它提供了一个与TypeScript和node.js的很好的集成。一些开发人员提到关于开发速度,很感谢IntelliSense功能(高亮和自动完成的混合)。

在同一句话中提到“开源”和“微软”不再矛盾了!

出于 SEO 的目的,我们需要使用服务器端渲染。但我们已经使用 create-react-app 构建了应用程序的第一个版本。我们考虑过切换到 Next.js,但我认为重新设计路由和数据获取比我们自己构建服务器端渲染的工作量更大。

CoffeeScript

多年来,CoffeeScript由于其精简语法(灵感来自Python和Ruby语法),成为最受欢迎的编译器,但它在2016年不太流行,很多开发人员从CoffeeScript迁移到ES6与Babel。

学到的第 3 课:谨慎选择以后难以更改的核心技术。

二. 前端框架

beat365亚洲官方网站 1

Snip20170204_2.png

“前端框架”这一分类可能是2016年JavaScript最累的一个牌行榜,几乎每个月都会出现一个竞争者,但是,这推动了创新的步伐。

确切地说,在这个类别中混合了两种类型的项目:

  • 完整的框架包含了所有功能,能够创建一个现代的Web应用程序(路由、数据提取、状态管理)。AngularJSAngular 2EmberAurelia都属于这一类。

  • 更轻量级的解决方案专注于UI层,如ReactVue.JSInferno,等等。

我们已经提到了总体排名第一的Vue.JS,让我们看看其他竞争者。

beat365亚洲官方网站 2

Hexo

在2016年,使用node.js构建的最流行的SSG是Hexo。它是一个彻底的SSG,接近CMS系统,可用于构建一个博客,如Wordpress。它有很多功能,包括国际化插件。

但不幸的是,我们在 RethinkDB 上遇到了很多麻烦。由于它没有被广泛使用,几乎没有关于如何操作数据库的文档和资料。我们经历了好多次数据库中断,调试问题感觉像是在蒙着眼睛走路。

四. React Boilerplates

beat365亚洲官方网站 3

Snip20170204_4.png

React是一个伟大的UI库,但使用React和现代Web开发工作流工具需要大量的配置。那么如何开始创建一个应用程序呢?

这是React的“Boilerplates”和其他“Starter Kits”提供的答案:

即使改变了这些决定,也不会让 Spectrum 自己成为更好的产品。但这样会节省我们的时间,让我们花更多的时间进行实验。

React boilerplate

命名为React boilerplate具有您需要的一切,包括Redux和一些漂亮的离线功能,利用web workers技术。

它让开发人员创建所谓的渐进式Web应用程序(Progressive Web Applications,PWA):离线运行的Web应用程序,使用一种名为Service Worker的技术,请阅读NicolásBevacqua的文章。

我之所以选择 RethinkDB 作为我们的主要数据存储,主要是因为它的 changefeed 功能。这个功能允许你监听几乎任何一个查询的实时更新。我认为它可以降低系统的复杂性,因为我们不需要为了实时功能单独使用另一个发布和订阅系统。

Flow

Flow不是一个编译器,它是一个用于“注释”JavaScript代码的静态类型检查器。基本上在代码库中使用Flow意味着添加注释来描述期望的类型(点阅读更多了解使用Flow编写模块)。

它在Facebook项目的代码源内使用。因为Facebook成为开源世界的主要角色之一(像beat365亚洲官方网站,ReactReact NativeFluxImmutableJest等项目),这意味着很多。

学到的第 4 课:在选择技术时,优先考虑社区规模和维护活跃度,尤其是在不熟悉的领域。

Express

当你使用node.js构建Web应用程序时,Express通常被视为事实上的Web服务器。它的哲学(一个可以使用中间件包扩展的简约核心)是大多数node.js开发人员熟悉的。

遗憾 1:没有使用 react-native-web

十. Static Site Generators

beat365亚洲官方网站 4

Snip20170204_10.png

静态网站生成器(Static site generators,SSG)是生成一系列HTML、.CSS和JavaScript文件的工具,您可以在任何简单的Web服务器(Apache或NGNX)上部署,而不必大惊小怪,或者设置数据库或任何网络框架。正如Gatsby网站所说:

就像1995年那样建立网站。

静态网站具备快速性、鲁棒性和易维护性。

SSG非常受欢迎,因为有很多很好的解决方案来主持静态网站免费:

Next.js 提供了惊人的开发体验和性能,更不用说活跃的社区和优秀的文档。如果我们现在重新开始,我会怀着激动的心情使用它。

五. Mobile

beat365亚洲官方网站 5

Snip20170204_5.png

JavaScript无处不在,你可以使用技术Web开发人员已知的任何技术(HTML、JavaScript、CSS)构建移动应用程序。

现在,我会选择一个更成熟的数据库(或许 Postgres?),并基于它构建一个发布和订阅系统。

2016年的王者

Vue.JS项目在去年的GitHub上获得了超过25,000颗星标,将包括React和Angular的其他框架甩在身后,一骑绝尘。

10月发布的Veu.JS的版本2,带来了虚拟DOM的性能。

Vue.JS用于大公司(包括阿里巴巴,中国最大的电子商务公司)的生产,所以你可以认为它是一个安全的选择。

它已经有一个相当成熟的生态系统,包括路由(vue-router)和状态管理库(Vuex)。

看来Vue.JS采用了最好的React(组件方法)和AngularJS(模板是HTML代码增强的框架特性)。

我们的搜索索引做得很成功,但用户一直在要求有更好的移动体验。我们现在正在开发原生应用程序,但因为是从头开始,所以很耗时。如果我们当初使用 react-native-web 来构建网站,就可以重用一些基础组件,加快原生应用程序的开发速度!

前端之巅翻译并整理了这篇博文,以飨读者。

文本输入是 Spectrum 用户的主要活动之一,我们希望为用户带来很棒的输入体验。我决定使用基于 Draft.js(最近由 Facebook 发布)的自定义 WYSIWYG 编辑器替换纯文本 Markdown 输入。

Gulp

Gulp是一个通用的任务运行器,可以用于涉及文件系统的任何类型的自动过程,因此它不是Webpack或Browserify的直接竞争者。

Grunt一样,Gulp通过聚合工作:你可以要求它缩小和连接资源列表,但是它不会像WebpackBrowserify那样处理模块化JavaScript本身。

然而,它可以很好地与webpack一起工作,即使开发人员倾向于使用npm脚本。

学到的第 2 课:尽可能使用现有的解决方案来解决技术问题,特别是那些你不了解的问题。

Ionic

Ionic是“混合”应用程序概念的先驱。在后台中,它基于Cordova访问移动设备功能。这是一个非常成熟的大型生态系统。

总而言之,以下是我总结的六个经验教训。

NativeScript

NativeScript旨在实现与React Native相同的目标(使用Web技术构建真正的移动应用程序)。它有两种种风格:NativeScript Core和NativeScript + Angular 2。

另一个框架可能效果更好,但我们应该专注于更紧迫的功能。我认为我们需要 WYSIWYG 编辑,但并没有与用户就此事展开交流。否则,我们很快就会意识到根本就没有必要所以这个编辑器。

三. Node.js框架

beat365亚洲官方网站 6

Snip20170204_3.png

2016年,使用以下解决方案创建和部署node.js应用程序从未如此简单:

Gomix这样的项目甚至降低了Node.js世界的门槛,使得任何人都可以在浏览器中轻松点击几下来编写共享 Node.js代码。

如果你必须构建一个Web应用程序,你会选择哪个框架?

事后看来,以下是我做出的令自己感到遗憾的技术选型以及从中学到的经验教训。

因个人精力有限,暂停简书的维护,欢迎大家关注我的知乎https://www.zhihu.com/people/wei-wei-24-86-36/activities,会持续分享前端、Web开发相关文章

学到的第 1 课:构建一个好产品就是要不断进行实验,加快开发速度,为了迭代速度和灵活性而优化。

Next.js

Next.jsZeit创建,具有可用于创建通用应用程序的服务器端呈现功能(或同构应用程序,如我们在2015年所说),也就是说客户端和服务器端运行的应用程序使用相同代码。

微信原文:2016年JavaScript领域中最受欢迎的“明星”们

Babel

Babel与Webpack一起,几乎成为编译ES5代码和标准JavaScript中的库(如React(JSX))使用的模板的标准。最初创建用于编译ES6,它成为一个更通用的工具,可以完成任何代码转换,拜一个系统的插件所赐。

本文由beat365亚洲官方网站发布于互联网资讯,转载请注明出处:2016年JavaScript领域中最受欢迎的“beat365亚洲官方

关键词: