根据你的需要,服务器端解决方案可能仍然是最好的(或者至少是更好的)选择。 4你应该使用多个框架 在几乎每一个关于微前端的教程中,不同的部分不仅由不同的团队开发,而且使用了不同的技术。这是假的。...另一方面,共享程度越浅(例如,只是一个指定基本设计元素的文档),就会出现更多的不一致性。 7应该共享一切 绝对不是。如果这样想,那么单体更有意义。就性能而言,这可能已经是一个问题了。什么可以延迟加载?...我们能去掉一些东西吗?但真正的问题是依赖管理。什么都不能更新,因为它可能会破坏某个东西。 共享部件的好处是一致性保证。 现在,如果我们共享所有的东西,我们就是用复杂性来换一致性。...针对不同的市场,使用不同的微前端。回到一个简单的权限模式,这是有意义的。不需要编写代码来根据特定条件打开或关闭某些东西。所有这些都留给公共层,可以根据(可能是动态的)条件激活或停用。...11微服务需要微前端(或反过来) 解耦的模块化后端可能为解耦前端打下了一个很好的基础,但通常情况下,情况并非如此。
Java Java——制作网页上的东西。不要将Java与Java混淆。虽然它们有一些语法的相似性,但这是两个完全不同的编程语言。Java才能真正推动Web2.0应用程序。...然而,现在的趋势更支持应用程序和应用服务器之间的松散耦合。 Java框架 请注意,到目前为止,我还没有提到任何Java框架。我所描述的,都是你作为一个Javaweb开发人员会用到的不同技术。...Spring还有其他的项目,你可以用来构建大范围推广的应用。 当涉及到整体框架时,真的找不到替代品代替Spring。哪怕存在着很多针对不同Spring项目的竞争技术。...成为Javaweb开发人员是一个非常有意义的事业。你刚入门的时候可以只专注于前端技术,也可以只专研后端技术。随着以后开发的项目增多,你就可以从这一技术领域转移到另一个技术领域。 ...如果我现在作为一个Javaweb开发人员入门的话,我会先专注于客户端技术,因为客户端技术独立于服务器端技术。因此,等你入门了以后,你将会有更多的就业选择。
但随着复杂性的降低,它成为了经验丰富的软件工程师的另一种工具而已。 机器学习的发展只和几种编程语言相关 你会用COBOL吗?如果是,那么你就可以不愁没工作了。...你应该,也有能力去学习多种编程语言,这是成为一个优秀软件工程师的关键。 软件工程包含更多技能 我们期望软件工程师对一切都至少知道一点。 后端工程师仍然需要知道浏览器的工作方式。...成为有竞争力的全栈开发人员需要很多年 除了使用已知的语言,也包括用了许多之间没有重合的技能。 从优化数据库,构建API微服务和构建响应前端的字面上看,基本没有共同点。它们可能用3种不同的编程语言实现。...因此,现在我们有了一个全新的云端栈来管理(网络,数据库,服务器),其中一不小心会造成巨大的安全漏洞。 有一个称为“云工程”的开发子集,其目的是使软件在AWS,GCP或Azure上运行。...以上所有框架/库都以根本不同的方式工作。 有几家公司致力于基于mockups的前端自动生成。但我的同事们的共识是,他们离高质量产出还有很长的路要走。
还有很多类似的 Web 框架问题。 SDK 呢?在主流编程语言中,你可以通过一个官方库来接入 Google 云服务、AWS 或 Stripe。这些官方库大都很棒。...但是 Rust 的内存规则并不比 Node.js 或 Python 更安全,用 Rust 编写的 Web 应用程序在系统上不会比 Python 或 Ruby 应用程序安全。...这是技术选择中的重要部分:是否有人在使用该工具?他们大致在同一个领域吗?不幸的是,Rust 生态系统中许多令人难以置信的令人兴奋的工作与 Web 应用服务器无关。...给它一系列可以查询的东西,然后应用程序(React 或其它)将任意查询发送到后端。 这会让后端变得复杂。...注意事项 1:一般情况下,你可以用任何编程语言搭建网站,还记得基于 C++ 实现的 OkCupid 吗?
然而,近年来这种情况似乎发生了变化,因为公司老板希望开发者有更多的经验、掌握更多种的语言、部署到更多平台,而且还常常要求他们拥有“计算机科学或计算机工程相关的学位”,这个定义似乎已经发生了变化。...像Angular这样的框架,或React这样的库需要开发人员对编程的概念有更加深入的理解,而这些概念在历史演变过程中与后端密不可分。...在我看来,这个范畴仅局限于应用程序和主要在浏览器中运行的用户界面,这个角色应该与构建服务器端功能没有任何关系。 语言的选择 我们需要考虑的第二个标准可能是开发人员选择的编程语言。...你可以用Python和C#等语言构建网站的基础设施,这与上述的问题相同:我们可以将Python、PHP和C#视作前端语言吗?...这样前端开发也可以专注于学习构建交互式功能的库(例如HTML canvas、WebGL等),而不是把时间浪费在与前端开发背道而驰的后端库或框架上。
通常“todo”并没有传达出在构建真正的程序时所需的足够的知识和视角,。 标准化 一个符合某些规则的项目。提供后端API、静态标记、样式和规范。...由专家撰写或审核 一个一致的、真正的项目,在理想情况下,由相关技术的专家建立或审查。 我们比较哪些库和框架?...如果说调试是删除软件错误的过程,那么编程必须是把它们加进去的过程 — Edsger Dijkstra 简述 这显示了给定库、框架或语言的简洁程度。...答:关注使用 ClojureScript 的 re-frame、AppRun 和 Svelte 。 ---- 问:想学习新东西吗? 答:选择一个你不知道的库或框架!...我不做所有的实现 —— 这是社区的努力。如果想在比较中看到你的框架,请考虑参与。 #4 你用的是哪个版本的库或框架?
虽然JavaScript现在几乎可以在任何地方使用,但PHP仍然是Web开发的后端编程语言。它不应该在前端或数据科学(如Python)或其他领域与其他语言竞争。...那么,从这个角度来看,PHP在2024年仍然有意义吗?我想说,这20-30%看起来像是软件开发生态系统的一个体面的份额,PHP仍然是一个非常重要的球员。...更高的入门门槛,通常开发和维护成本更高-适合大型企业或银行应用程序。JavaScript?对于前端来说很好,但是它的后端堆栈仍然不发达,其最小化的框架通常只提供基本的功能集。...有时候吧但到目前为止,我只听说过这种方法的失败故事。后端和前端开发人员需要不同的技能和知识-语言是次要的。 PHP面临的挑战 PHP在Web开发中占有一席之地,但它面临着新的挑战。...像Stack Overflow这样的网站展示了更多关于Python、Rust和Go等语言的问题,这表明开发人员正在转向更新的工具。 然而,重要的是要将趋势与现实世界的需求分开。
以下内容来自我特别喜欢的一个Youtube频道: Traversy Media 这是一个2019年你成为前端,后端或全栈开发者的进阶指南: 你不需要学习所有的技术成为一个web开发者 这个指南只是通过简单分类列出了技术选项...HTML/CSS框架目前没有以前那么有意义, 但是我还是介意你选择一个学习(这里作者想隐射的应该是, 在jquery时代, HTML/CSS框架的学习是必须的)....学习一门后端语言 ?...成为一个全栈工程师或软件工程师, 你将需要学习一个服务端语言和相关技术 学习的顺序: 基础的后端语言语法 数据结构和工作流 包管理 HTTP/路由 3.2 服务端框架 ?...无需创建和管理自己的服务器 使用第三服务执行“无服务器功能” 例如 AWS, Netify & Firebase 在Gatsby静态站点生成器很流行 无服务框架 4.6 AI和机器学习 ?
我的队友和我能够轻松地学习这个工具吗? 框架在性能方面是如何脱颖而出的? 从项目开始算起,在5-10年以上的时间里,这些代码会给我带来更多的麻烦吗?...在React和Vue中支持服务器端呈现 框架支持服务器端呈现吗? 如果web应用程序的目标是优化高搜索引擎,服务器端呈现是一个基本要求。...如果有机会构建基于企业的电子商务web应用程序(有未来迭代的可能性),您会选择哪种框架(或语言)?有什么特殊的原因吗?...与其他原因相比,最重要的考虑是我在一个给定的框架下会有多有效,而React对我来说绝对是最好的一个。 如果有机会构建一个社交网络应用程序,你会选择哪种框架(或语言)?...如果有机会构建基于企业的电子商务web应用程序(有未来迭代的可能性),您会选择哪种框架(或语言)?有什么特殊的原因吗? 如果我有足够的时间去学习的话,我仍然更喜欢使用合情合理的语言和合情合理的框架。
HTML/CSS框架目前没有以前那么有意义, 但是我还是介意你选择一个学习(这里作者想隐射的应该是, 在jquery时代, HTML/CSS框架的学习是必须的)....学习一个前端框架在目前前端开发中是必须的. 在大公司开发中非常流行 更多的交互 & 有趣的UI组件 组件化 & 模块化前端代码 对团队有利 2.4 状态管理 ?...学习一门后端语言 ?...成为一个全栈工程师或软件工程师, 你将需要学习一个服务端语言和相关技术 学习的顺序: 基础的后端语言语法 数据结构和工作流 包管理 HTTP/路由 3.2 服务端框架 ?...无需创建和管理自己的服务器 使用第三服务执行“无服务器功能” 例如 AWS, Netify & Firebase 在Gatsby静态站点生成器很流行 无服务框架 4.6 AI和机器学习 ?
Web服务器上运行)。...HTML、CSS HTML(超文本标记语言)和CSS(层叠样式表)是Web编码的最基本构建块。没有这两件事,你就无法创建一个网站设计,而你最终得到的只是屏幕上没有格式化的纯文本。...有不同类型的JavaScript框架可以满足不同的需求,尽管提到的四个是实际工作列表中最受欢迎的。...有时,您希望用户在台式计算机上访问您的网站时获得的体验与您希望他们从智能手机访问时看到的体验完全不同,在这种情况下,移动网站完全不同是有意义的。...单元测试是测试单个源代码块的过程(指示网站应该如何工作的指令),单元测试框架提供了一种特定的方法和结构(每种编程语言都有不同的方法和结构)。
把时间花在真正重要的事情上 可悲的事实是,很多时候技术并不重要。至少对用户来说不是这样。用户根本不关心应用程序的后端到底是用 Java、Go 还是 NodeJS 编程语言编写的。...他们也不关心它是使用容器技术还是无服务器架构,在虚拟机上还是实体机上运行。用户只关心他们的用户体验,这个应用对用户来说有价值吗?它好用吗?它好看吗? 在科技创业公司的早期阶段,人们一直在测试新的假设。...一个新的理论或想法提出来,需要为之进行快速测试,以验证你正在构建的东西是有用的。构建和测试特性的速度越快,反馈循环就会发生得越迅速,从而就越容易准确地找到用户想从你的产品中获得什么。...与 VM 技术不同的是,你永远不会在服务空闲或没有用户使用时为基础设施付费。...随着无服务器架构得到越来越广泛的应用,许多云提供商已经发布了自己版本的无服务器功能。像无服务器这样的技术框架,尝试从云提供商抽离出来,并云提供商之间的数据迁移更加容易。
一般的网站真的需要用React编写吗?我们甚至应该使用JavaScript吗?当然,当前也不能代表未来,未来现有框架很大可能也会被替换,但是,也是从现有的一些观点出来,帮助我们向前迈进。...这与移动应用开始出现时的情况形成了鲜明的对比。从一开始,iOS和Android上的移动应用就是用Objective C和Java等严肃语言™编写的完整应用。...这两个因素导致第二代框架迅速发展,使第一代框架黯然失色,从远处看,这一切似乎很有意义,是一种合理的演变。但在当时身处其中,是相当令人沮丧的经历。...既然我们都同意组件是建立在核心基础之上的,那么开始标准化应用程序的其他部分--路由器、构建系统、文件夹结构等,就很有意义了。...当我们需要使用一个需要密匙的外部服务时,添加几个不同的一次性API路由(不需要为我们的API添加一个全新的路由并与后端人员协调)。
在那里,我们主要选取了jupyter和openresty来说明engitor: 1)在用jupyter充当这个engitor时它同时是enginx,它的特点是.ipynb,技术上这实际上是一种web脚本和各种语言后端的服务环境...但是它第一次实现了将不同的语言统一化为服务端脚本,且提供了一个在线IDE(以开发一段note测试一段note的行为)。...而实际上足够复杂的ipynb是可以开发app的,也不限于用在线IDE的教育工具的形式去展现,其前后端一个是语言一个是应用就像普通WEB一样。...(一言以蔽之通用化构建任意程序),且不要求运行在以上具体engitor下?那么这还叫engitor吗?还有意义吗?...毕竟,我们想得到一个万用的engitor,将传统上从(linux的生态开始处,CUI处,那个时候仅有os kernel和toolchain),将任何复杂应用的开发涉及到的多种语言源程序/二进制的编译过程
这对于服务器之间的通讯来说这些信息就是冗余信息了。 除此之外,http通讯对于大规模的后端服务器之间数据交互还是存在一定的性能问题的。 http协议并不是服务器之间通讯的最理想协议。...那么,除了http协议,还有其他的方式来做服务器之间的通讯吗? 当然有,而且目前在后端开发领域还很常见,那就是RPC。 而作为JS开发者,要想搞定controler层,RPC就是必须得啃的骨头了。...为了不同服务器能够访问服务器,需要定制一些标准化的RPC,大部分采用的接口描述语言。 IDL采用一种中立的方式来描述接口,使得不同平台上运行的对象和用不同语言编写的程序可以相互通信交流。...rpc框架有很多,目前用的比较多的有:gRPC、Thrift、Dubbo Dubbo是阿里开源的一款rpc框架 gRPC是google开源的一款rpc框架 Thrift是facebook开源的rpc框架...其中,阿里巴巴开源的Dubbo在国内是最流行的RPC框架(我厂java后端就是用的这个)。
我曾经认为--如果我了解JavaScript,那写后端会很容易。我之所以认为简单,是因为Node是JavaScript。我没必要去学一门新语言。 然而,我错了。 但是,后端是很难去学的。...我花了很长的时间去学习它。(当然,我现在仍然尝试去掌握它)。 我意识到在学习后端中我有些问题,因为我曾认为前端和后端是一样的 -- 它们都是代码而已。 这是个很大的错误。 前端和后端完全是不同的野兽。...如果让我来解析前端和后端之间的差异(在执行方面),我会说: 前端是有关视觉 后端是有关通信 前端是有关视觉 当我们构建前端事物,我们很大程度上关注了用户对我们构建的东西是怎么看的。...在数据库/API上的操作是否正确保存? 数据库/API返回什么信息呢? 我们应该返回什么信息给前端? 我们是在渲染网页吗?如果是,我们应该呈现哪个网页? 当信息错误或错失时,我们应该怎么做?...不同的心理模型 这是我在学习后端的早期观察到的一种常见模式: 我会假设事情向着特定的方式运行 我会在Google上搜索,如何通过我想到的具体方式来实现东西 (Google结果也许是空) 我会破解它并构建自己的基础设施
API 与语言无关,并允许跨不同编程语言和框架进行一致的 instrumentation 。...Auto-Instrumentation 组件可以作为库或代理下载和安装,具体取决于所使用的编程语言或框架。...Collector Collector 组件负责收集来自不同来源(例如应用程序、服务器和基础设施组件)的遥测数据,并将其导出到各种后端。...OpenTelemetry Collector 可以部署在不同的模式中,例如 sidecar、daemonset、deployment 或 statefulset,具体取决于特定的用例和要求。...OpenTelemetry 旨在跨多种编程语言、框架和平台工作,这使得从堆栈的不同部分收集遥测数据变得更加容易。这种互操作性对于使用多种技术并需要在整个堆栈中标准化其可观测性实践的组织来说非常重要。
领取专属 10元无门槛券
手把手带您无忧上云