san*_*tel 3 web-component reactjs polymer isomorphic-javascript
在这些年里,我们看到了多种处理Web开发的技术,例如:
同构反应:
它提供了在客户端和服务器之间共享的公共代码库.
网页组件:
Polymer.js显示了为浏览器创建本机元素的方法.
这两种技术都是相反的方向.网络开发人员应该遵循哪一项?欢迎任何建议/意见.
React和Web Components类似,但不一样.Web组件(或至少我们还没有完成的想法)的优点在于,您应该能够使用自定义元素扩展HTML.浏览器没有给你一个<datepicker>元素?扔进一个实现它的Web组件!您不必担心它是如何实现它的,您只需导入它然后就可以使用它.原来它可访问性差或浏览器支持不佳?其他人肯定会创造更好的东西.
Web Components目前的一个大问题是它们添加了全局名称.因此,如果有一个事实上的Web组件注册表,如NPM for Node,那么您将争夺最佳名称.但是NPM并不是一个大问题,因为你可以将变量命名为你想要的东西,比如var Promise = require('bluebird');.它告诉你它做了什么.但是一个名为的Web组件blue-bird会很糟糕,因为在阅读使用它的标记时你不会知道它的作用.因此,如果在Web Components成为最终版本之前没有得到解决,我们最终将使用长的,带前缀的,奇怪的名称来避免名称冲突.
Web组件意味着很小的组件,非常通用.像日期选择器,具有自动完成的选择列表,地图元素等等.它们并不是要解决您构建应用程序的方式,而是如何在站点之间重用公共元素.所以,你可能会看到自定义元素<date-picker>,但你不会看到一个index.html只有<body><my-app></my-app></body>那里my-app是你的特定应用Web组件.好吧,也许你会看到它,但这并不是Web Components的真正目的,它并没有为你提供很多工具.
另一方面,React就是如何构建应用程序以及在组件之间传递数据.您可以将纯Javascript对象作为属性传递给React组件,但是您可以作为属性传递给Web组件的唯一对象是字符串.这适用于简单的东西,但不适用于整个应用程序.
它们不是互斥的,因为您可能会看到很多人在其React应用程序中使用Web组件.但是如果你看到有人创建了一个依赖于React的Web组件,请随时对它们大喊大叫.Web组件应该是隔离的和可重用的,并且包括像React这样的大型库/框架是一种反模式.
| 归档时间: |
|
| 查看次数: |
1761 次 |
| 最近记录: |