欢迎访问 青海seo培训教程_seo轻松上手学习优化技术教程(www.qqeee.net)

网站地图 | 伪原创工具
    青岛庄园SEO--用心做好每一个站!

当前位置:主页 > 网络推广 >

南宁市搜索引擎推广如何在行业中脱颖而出?

日期:2019-10-30 分类:网络推广
南宁市搜索引擎推广如何在行业中脱颖而出?

  Web 组件是指对 Web 的数据和方法进行封装实体,它的到来,方便了很多开发者对业务逻辑方面的处理,不过也有人认为,Web 组件并不适合自己。

  我写这个主要是为将来的自己,下次有人问我,我能说点什么,关于为什么对Web组件持怀疑态度,以及为什么Svelte默认不编译自定义元素(它可以编译CEs(自定义元素),且可以使用CEs作为它在自定义元素无处不在上良好成绩的证据)。

  这些都不应该被视为对Web组件所做的辛苦工作的批评,我可能在这篇文章里犯了一些错误,如果有这种情况,欢迎大家更正。

  我也不是说你不应该使用Web组件,它们确实有有效的使用案例,我只是解释为什么我不使用。

  渐进增强可能是一个越来越过时的观点,但我认为网站应该尽可能在没有Java的情况下能正常使用。但是Web组件不可以。

  使用Web组件,对于本质上是交互式的元素来说是很好的,比如自定义表单元素(cool-datepicker),但是对于导航栏来说就不是很好。或者考虑一个简单的twitter-share元素,它封装了所有构建Twitter网站意向URL的逻辑,我可以在Svelte中构建它,且它将生成服务器端渲染HTML,如下所示:

  启用了Java后,它会逐渐增强——不再是打开一个新的选项卡,而是打开一个小的弹窗。但是如果没有开启,它仍然可以正常使用。

  如果JS被禁用或者出现一些问题,再或者用户使用较旧的浏览器,这些Web组件会变得不可用和不可访问。

  如果你想使用Shadow DOM进行样式封装,你必须使用style标签包裹你的样式。这是唯一可行的办法,至少如果你想避免FOUS(浏览器样式闪烁或者无样式内容闪烁),必须把css放在定义自定义元素的java模块的字符串中。

  这与我们给出的性能建议背道而驰,该性能建议可以总结为“请使用更少的java“。特别是CSS-in-JS社区因为没有将css放在.css文件中,而受到批评,但是呢,此一时彼一时。

  将来,我们可能可以使用CSS 模块以及可结构化的样式表一起来解决这个问题,我们可能可以使用::theme和::part在Shadow DOM中来设置样式,但这些也不是没有问题的。

  在写这篇文章时,上,上有61,000个未解决问题,Chromium bug跟踪器反映了编写现代web浏览器的极大复杂性。

  每次我们向平台添加新特性时,都会增加其复杂性——为bug创建新区域,并使Chromimu的新竞争对手越来越不可能出现。

  它还为开发工程师带来了复杂性,他们被鼓励学习这些新特性(其中一些功能,例如html导入或者原始自定义元素规范,这些永远不会在Google之外流行,且最终会再次被删除。)

  如果你想支持所有的浏览器,使用polyfills(垫片)也没有作用。谷歌员工(hi Jason!)撰写的结构化样式表文献真的没有帮助,因为它没有提及仅限Chrome浏览器的特性(三位标准的制定者都是谷歌员工,Webkit似乎对设计的某些方面存在有些怀疑。)

  一个组件能够控制何时(或是否)其插槽内容被渲染是有必要的,假设我们想使用html-include标签来展示网络上的可见时显示的一些文档。

  令人意想不到的是,即使你尚未切换打开该部分,浏览器已经请求了more-info.html文件,以及它链接到的其他所有图像和资源。

  这是因为插槽内容在自定义标签中饥饿渲染,事实证明,大多数情况下,你希望插槽内容能懒惰渲染。为了和web标准保持一致,Svelte v2版本采用饥饿模式,但是事实证明,它成为一个主要的阻碍源——我们无法创建和React Router等效的功能,例如,在Svelte v3版本里面,我们放弃了自定义元素结构模型,且从不回头。

  但是我们可以接受这些不一样,当然这是因为在字符串格式(HTML)和DOM之间的转换会丢失一些东西。丢失的数量是有限的,并且它们是有文档记录的,所以至少在有足够的时间和耐心的情况下可以了解它们。

  Web组件改变了这一点,不仅不再保证attributes和props之间的关系,而且作为web组件开发者,你需要(很有可能?)支持两种情况,这意味着你会看到下面这样的代码:

  有时你会看到其他方式——attributesChangedCallback调用属性访问器,但是无论哪种方式,对提高工作效率简直是灾难性的。

  这一点有些模糊,但令我诧异的是,attributeChangedCallback仅仅是元素实例的一个方法,你可以按照下面这样做:

  没有属性改变,但是它和有改变的行为是一样。当然,java总是提供大量机恶作剧机会,但是当我像这样查看实现细节时,我总是觉得好像他们在尝试告诉我们设计不太正确。

  首先,我们已经确定dom结构比较糟糕,但是对于构建交互式应用,很难夸大得说它是不方便的界面。

  几个月前,我写了一篇名为写更少的代码的文章,旨在说明Svelte如何能够比React和Vue框架还高效地构建组件,但是我没有将它和DOM比较,我应该去比较下。

  还要注意,如果你在同一时间更改A和B,会导致两个独立的更新,框架通常不会受这个问题影响。

  我们不需要过多地讨论这一点;这足以说明使用单个共享命名空间的危害在一段时间已经被很好理解了。

  最大的挫败感是我们已经有非常好的组件模型。我们仍然在学习,但是通过以面向对象的方式操作DOM来保持视图和一些状态同步的基本问题已经解决了多年。

  我们正在向平台添加新特性,只是为了让web组件和我们在用户端已经做过的工作保持一致。

  由于资源有限,花在一个任务上的时间意味着没有花在另一项任务上,考虑到开发工程师数量一般,但在Web组件花费了大量投入,如果把精力花在其他地方,那web发展能取得什么样的成就呢?

南宁市搜索引擎推广如何在行业中脱颖而出?
关键词: 南宁市,搜索引擎,推广,如,何在,行业,中,
blogger

SEO接单服务

博客统计

  • 共有文章:2130篇
  • 文章阅读:262170人次
  • 今日更新:篇
青岛庄园SEO专业排名优化,seo搜索引擎快速排名,关键词优化,快速上首页.高效率的团队解析排名算法,运用正规白帽技术,模拟人工手操,提升网站流量转化率,为企业排名优化迎帆启航
sitemap地图 | 在线投稿
Copyright © 2002-2017 版权所有

信用卡

上海公关

长沙公关

360公关

希万舆情

海口舆情

红警公关

QQ
QQ在线咨询
SEO优化热线
1377-3668-165
手机扫一扫 与博主直接沟通