译者 | 布加迪
审校 | 孙淑娟
互联网一直处于不断进化的状态。如果不关注Web开发的未来并做出相应的调整,互联网企业的经营者很难继续取得成功。
三十多年前,大多数人还无法想象移动设备在互联网用户当中的接受程度。现在有多达43.2亿用户通过手机访问互联网,这使得众多开发人员和公司在搭建网站时把移动响应视为首要任务。
在未来几年,互联网必然会变得更加难以识别,互联网用户的行为模式也将如此。为了帮助您灵活应对,我们将探讨Web开发的未来,并详细介绍公司用来应对变化的Web开发趋势。您还会发现如何给自己定位,从这些趋势中受益匪浅。
本文介绍的大多数趋势归入这两个类别:功能类和视觉类。前一类趋势直接涉及影响网站可用性和功能,后一类趋势涉及网站的外观诉求。
十多年前,许多开发人员普遍认为最好保持网站“不杂乱”。这里的杂乱是指对于在低端计算机上维护网站的速度和可访问性毫无必要的媒体文件和花哨的动画,低端计算机在处理大量信息时原本常常遇到麻烦。
这种观点如今仍然合理。您经常会发现最简可行产品(MVP)只提供最基本的要求来运行其产品,直到它们获得合理的资金来实现想法。
然而在比较老牌的公司中,我们看到它们从乏味的静态网站向基于MotionUI的基础而建的网站转变。提供独特动画集成和组件的CSS转换和独立库使这成为了可能。在未来几年,这个趋势可能由Web开发未来的另一个前沿变成任何开发人员工作的常规部分。
即使在今天的网站上,也有MotionUI的一些痕迹。一些网站主要将其用于简单的外观功能,比如显示滑动图像和文本。与许多建立在Webflow平台上的网站一样,其他网站也将MotionUI作为其开发的基础,交互式组件及其他此类微妙的功能一应俱全。
虽然部署MotionUI可能并不总是能显著提升网站功能,但它可能通过改善外观设计来帮助留住用户。在密切关注这一趋势之前,不妨考虑开发流程的效率。可以通过选择合适的Web开发框架来实现这一点。否则,您可能会发现自己耗费更多的资源来建立一个花哨的网站。
之前,我们提到了数量惊人的互联网用户通过移动设备访问网站。仅凭这一统计数据,可以说移动优先的网站创建不再是Web开发的未来,而是已经出现在面前了。但是,这个概念可能有局限性,因为它只考虑了移动开发诸多细节中的一小部分。当然,移动响应和应用程序速度已经取而代之,而且只会越来越重要。但除此之外,我们还见证了移动网站开发方面的几个变化。一个例子是生物特征身份验证(比如指纹扫描和人脸识别),以访问银行应用程序和消息传递平台等敏感帐户。
这在笔记本电脑/桌面电脑用户中并不常见,如今在移动端也得到采用。另一个移动优先网站创建的例子是,使用位置数据为用户提供高度个性化的体验。这之所以成为可能,是由于普通的手机用户在手机上比在电脑上更有可能打开位置。
这个趋势比较复杂,但也是最值得关注的趋势之一,如果您正考虑以Web开发为业更是如此。它最初始于21世纪初,当时加密货币出现在互联网上。当时,几乎所有了解区块链的人都持怀疑态度或漠不关心,那些不了解区块链的人懒得去了解区块链到底是怎么回事。
相比之下,今天全球近8000万人在积极使用区块链钱包。除了个人用户外,许多大国的政府对区块链技术及相关概念也明显感兴趣起来,日本、中国、瑞士和英国就是几个典例。
区块链技术很可能在未来的Web开发中扮演更重要的角色,考虑到它的好处,这不足为奇。如果使用得当,区块链技术可提供真正的可跟踪性和透明度,增加了安全性(特别是在事务副本由不同节点持有的情况下),并通过自动化加快了速度。
政府和公司要想真正获得关键项目方面的这些好处,就需要技能娴熟的开发人员。因此,可以说区块链将是Web开发未来的一个关键角色。
自互联网诞生以来,普通用户对速度的渴望一直有增无减。在2019年Unbounce的一项调查中,约70%的买家承认,页面速度影响了他们在线上零售商店的购买决定。为了速度和效率,您可以编程设计有多个页面的网站,但并不总是这样。
Web开发人员多半常常添加网站不需要的未经优化的动画和代码行。即使在网速最快的情况下,这些都会影响加载时间,并损害网站的转换能力。单页应用程序是下一个Web开发阶段的核心部分,因为它们具有解决这个问题的独特能力。
与多页面网站不同,SPA一次加载整个网站,让用户可以导航到同一页面上的特定内容,而不需要重新加载。Web开发人员使用AJAX和HTML5来保持SPA方面的响应性。除了SPA速度快外,它还有另外几个好处,包括易于导航、相对轻松的调试以及较低的跳出率。
普通B2C企业主面临的主要问题之一是,客户服务人员与客户的比例严重失衡。也就是说,没有足够的人来响应每个客户的需求,同时还要维持企业运转。从理论上讲,这可能是一个好主意,因为这可能带来一定程度的秩序和协调。
但实际上,将客户限制在单一平台上可能不是好主意。在AI聊天机器人诞生之初,许多公司将这类工具定位于解决这一问题的方案。但是一些人提出了这个问题:AI聊天机器人反应太呆板,最终毫无帮助。考虑到AI聊天机器人无法解决复杂的客户问题,这不足为奇。此外,还存在这个问题:AI聊天机器人只能识别特定的单词和语音模式。
今天,我们看到网站上人工智能客服代表的质量在不断提高。比如说,一些电子商务聊天机器人可以帮助解决从回答查询到订单履行的一切问题。还有一些可以与第三方社交网站(比如Instagram、Facebook和WhatsApp Messenger)以及客户与品牌互动的其他应用无缝集成。在未来几年,AI聊天机器人一定会成为Web开发的游戏规则改变者,尤其是对B2C公司而言。
值得一提的是,Web开发的未来在不断变化。除此之外,本文并非旨在详尽列出未来几年Web开发领域的全部趋势。
因此,在做出任何决定之前,您须先了解哪个趋势与自己密切相关、哪些对您的客户最有帮助,以及如果要做出任何变更的话,成本是多少。另外,要确保正确落实了变更。
不是您网站的每个部分都需要MotionUI。此外,如果用户可能通过手机在您的网站上浏览大量时间,您可能只需要暗模式(dark mode)。这时,最好在您的博客子网站上实现暗模式。找到适合您的方法,并相应地实施。
原文链接:https://hackernoon.com/the-future-of-web-development-5-things-to-expect-in-the-next-decade
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
@作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors 1、什么是behaviors 2、behaviors的工作方式 3、创建behavior 4、导入并使用behavior 5、behavior中所有可用的节点 6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors 1、什么是behaviorsbehaviors是小程序中,用于实现
目录第1题连续问题分析:解法:第2题分组问题分析:解法:第3题间隔连续问题分析:解法:第4题打折日期交叉问题分析:解法:第5题同时在线问题分析:解法:第1题连续问题如下数据为蚂蚁森林中用户领取的减少碳排放量iddtlowcarbon10012021-12-1212310022021-12-124510012021-12-134310012021-12-134510012021-12-132310022021-12-144510012021-12-1423010022021-12-154510012021-12-1523.......找出连续3天及以上减少碳排放量在100以上的用户分析:遇到这类
我正在尝试提取所有包含与当前月份/年份或下一个月年份匹配的字段的账单信息。例如,假设当前月份是2014年12月,我想要这样的内容:Billing.where(exp_month:12,exp_year:2014ORexp_month:1,exp_year:2015)该语法显然不正确,但它让您了解我所追求的。所以,这里的问题是...如何正确设置该查询的格式?如何获取该查询格式的当前/下个月/年份?我正在运行Ruby2.1.2。 最佳答案 Ruby的Date类提供了很多方法:first_of_month=Date.current.beg