00:01
框架主义终究无法实现,正确的答案不是在搞出新的工具,而在于具备大到过不进行工程设计的勇气。我这十多年经验的软件工程系Alex raio在他最近react不行那到底什么型的博客中提到,他在文中截机了当的表示,如今任何人都不该用react的构建新项目。这篇博客迅速引起了开发者们的关注,并展开了一场围绕react的激烈讨论。在探讨及观点之前,我们有必要先了解Alex rasio的背景。作为微软H团队的合作伙伴、项目经理和blink KPI的所有者,Rasio在web开发领域有着举足轻重的地位。他曾在谷歌担任软件工程师长达13年,从事Chrome brink和网络平台开发工作,是Chrome的第一位网络标准技术领导,并担任W3西技术架构组3届当选成员和10年的TC39代表,Rasio在web标准性能优化和浏览器引擎开发方面拥有丰富的经验。这使得。
01:01
他对VX等前端框架的批判更具权威性和说服力。Rasio之所以认为VX已经过时,主要是基于以下几个方面的论述,一、VX并非现代,还是一种一流技术。瑞我认为VX的所谓现代性是一种误解,它与现代艺术类似,既没有体现出现代设计理念,也与当前的技术需求和性能标准脱节。VR指代生于2013年,其设计理念和技术架构已经无法满足当今外宾用对性能、各访问性和用户体验的需求。React的虚拟DOM机制虽然解决了当时的一些问题。但也带来了额外的性能开销和附杂性。V的生态系统充斥着大量冗余的NPM包,例如库尔、JS laddash moment j等,这些包不仅增加了应用的体积,也带来了维护上的负担。2、V生态系统导致失控。Rasio指出,V的生态系统存在一种虚控的文化,开发者过度依赖框架和工具,忽视了web开发的基本原理,例如HTMLCSS和渐进式增长,大量使用javascript构建客户端应用,导致性能问题、可访问性问题以及SEO优化困难。开发者对V的生态系统之外的解决方案缺乏探索和尝试能力,逐渐失去对框架机外解决方案的敏感性和判断力。3、过度使用javascript带来的问题。RA认为,过度使用javascript构建客户端应用会带来以下问题,性能问题,Javascript的执行效率远低于HTM。
02:39
和CSS庞大的javascript包会导致应用加载缓慢,影响用户体验。可访问性问题,依赖javascript构建的应用对辅助技术不友好,可能导致长障用户无法正常使用。SEO优化困难,搜索引擎对javascript渲染的内容爬取能力有限,依赖javascript构建的应用在SEO方面存在天然的劣势。开发复杂性,Javascript代码难以维护和调试复杂,对构建工具和依赖管理增加了开发和维护的难度。系Rael对V的生态系统中的常见论调进行了批判,我们需要快速行动。Raio认为过度追求速度和呼吸性能优化最终会导致应用性能越来越差,开发者疲于用户性能问题反而降低了开发效率。我们测过了,没问题啊拉指出,用户体验并非开发者可以完全掌控的,开发者测试的结果并不能代表真实用户的体验。我们的团队已经很熟悉。
03:39
RA认为v react只是web开发技术战中的一程,Web开发者天然具备适应不同框架的能力,熟悉v react并不意味着无法学习其他技术,我们得降低招聘门槛。Raio认为,科技行业裁源朝向优秀人才功过于求,降低招聘门槛并非明智之举。现在用户的手机各顶格的快。Rasio反驳称,并非所有用户的设备都性能强劲,开发者不应以牺牲性能为代价来换取开发便利性。V react已经成为行业标准。Raio认为v react并非单一的标准,而是一种基于理念的选择,其生态系统缺乏统一的标准和规范。可人加生态系统完善啊,Re素记忆VX生态系统的首微完善性,并指出过度依赖NPM包会增加技术债务。Next j其实也可以很怪。RA认为next g的性能表现并不理想,其性能优势依赖于vce的服务器优化。我们还有react native RA认。
04:39
为react native并非构建高性能移动应用的理想选择,开发者应考虑其他更优秀的解决方案,例如trust、外b activity builder. 他和code德va rachio的观点引发了广泛的讨论和争议。以下是一些对rachio观点的记忆和反思。1、V并非一无是处尽管raio、对VX提出了严厉的批判,但不可否认的是,VX在过去10年中为web开发带来了巨大的变革。VX的虚拟dum机制和组件化系想极大的提高了开发效率的生态系统中的工具和库,极大的丰富了外部开发的生态。VX在构建大型复杂的前端应用方面具有独特的优势,因此react并非一无是处,其在某些场景下仍然具有存在的价值。2、过度使用javascript并非react的错,RAS将过度使用javascript的问题归咎于react,但实际上,Javascript的滥用并非react独有,而是整。
05:39
整个web开发设局普遍存在的问题,开发者需要意识到,Javascript并非万能的,应根据具体需求合理使用。开发者应学习和掌握web开发的基本原理,例如渐进式增长、语异化HTML和CSS的3V爱的生态系统并非失控,V的生态系统确实存在一些问题,例如NPM包的泛滥和版本需变化,但这些问题并非不可解决,开发者应加奖对依赖包的管理,避免引入不必要的依赖,窃局于应家长对react生态系统的规范化和标准化建设。4、react native的价值5、对react native的评价过于片面we react native在构建跨平台移动应用方面俨然具有独特的优势,We react native能够实现代码复用,缩短开发就机,降低开发成本,VR native社区活跃,圣代系统丰富,开发者可以借助社区的力量快速解决问题。
06:36
Raio的文章不仅仅是对we的批判,更是对web前端开发未来方向的思考。以下是一些值得关注的趋势,1、回归web基本原理,渐进式增强。开发者应优先使用HTML和CSS构建基础的用户体验,然后逐步增强功能,而不是过度依赖javascript。语义化HTML,使用语义化的HTML标签,提高网易的可访问性和SEO优化能力。性能优化重视前端性能优化,减少javascript包的大小,优化资源加载方式,提升用户体验。2、探索新的前端框架和工具。Swell采用编译时框架,切记编译后的代码更小,性能更用。
07:22
列一个精量级的web组件库。专注于构建壳复用的EI组件会以提一个基于服务器端渲染和渐进式增强的框架,旨在提高应用的加载速度和交互性。其他新兴框架例如maco htmx等也值得关注。3、拥抱web组件。Web组件提供一种标准化的方式来构建可复用的UI组件可以与任何框架或不配合使用。Web组件可以实现跨框架的主件复用,提高开发效率,Web主件可以提高代码的可维护性和可重用性。4、重视性能与可访问性性能前端性能直接影响用户体验,开发者应将性能优化作为开发过程中的重要环节和访问性,开发者应遵循和访问性标准,确保应用对所有用户友好。
08:14
包括产障用户5、关注用户体验,用户为中心,开发者应始终将用户体验放在首位,避免为了追求技术上的酷炫而牺牲用户体验。数据驱动,开发者应借助数据分析工具了解用户行为和需求,并根据数据做出抉择。总之,Alex rareio的文章为我们敲响了警钟,提醒我们反思V以及当前web前端开发的现状。尽管React在web开发史上留下了浓墨重彩的一笔,但随着技术的发展和用户需求的变化,Web开发设计需要不断探索新的解决方案,回归we基本原理,拥抱新的框架和工具,重视性能与可访问性。关注用户体验将是web前端开发未来发展的方向。开发者应保持开放的心态,积极学习和尝试新的技术和方法,为用户提供更优质的web体验。
我来说两句