PHP Manual
/
高级开发员

如何选择技术?我们什么时候改用JavaScript?

11. 02. 2023

选择正确的技术是成为高级开发者的先决条件。这些决定往往并不容易,因为你必须考虑到应用程序目前的技术状态,你的发展方向,你目前的团队知识是什么,什么知识在就业市场上是常见的,每种技术的成本是什么,它会给你的操作带来什么风险,技术的安全性和稳定性如何,最后但并非最不重要的是,比如说,5年后你目前团队的80%被取代时,开发人员会对什么感兴趣。

我已经经历了6家用PHP开发的大公司。从长远来看,他们中只有2人试图转向另一种技术,其他的人都留下来。这有很多问题。例如,我目前正试图为我为O2开发的一个企业项目寻找一名高级PHP开发人员,要求通勤到布拉格的办公室,我可以看到在过去的5年里,PHP开发人员市场是如何清理的。PHP只是不再酷了,没有多少人愿意做它。里面没有足够的年轻人。

通过采访年轻人,我感觉到React和一般的 "瘦身 "技术在当今非常流行。从应用架构的角度来看,如果你在早期就发现这个方向,并有时间去适应,那就有意义了。在Latte中,你需要一个几乎平庸的开发者来完成已经略显复杂的任务,而不是复杂的捣鼓网页布局和表单,在React中,你只需要一个基本上一个月前就开始的初级开发者,而且在未来的解决方案中仍然不会犯太多的错误。

React让你丢掉了一大块后台,而这些后台的编写只是为了让前端能够存在。简而言之,它使开发成本降低,作为奖励,你可以更快地交付新功能,因为开发人员不必反复处理来自PHP设计语言的复杂问题。

大多数网络应用甚至不需要后台了,或者只需要一个最小的后台。当你在Node.js(也是一种建立在javascript基础上的技术)中暴露API端点时,突然间,以前只做React的开发者也可以编写后端部分,因为它是同一语言。

深入分析我在过去5年中开发的项目,Node.js中只缺少一些东西,让我在一些操作中仍然使用PHP。

也就是。

  • 理论(以及一般的基于对象实体的关系数据库访问)。
  • 发送和管理电子邮件
  • SOAP API(不幸的是,它有时仍然存在)。
  • 会话(例如,你必须用JWT令牌代替它)。
  • 复杂的遗留逻辑是用PHP写的,我不能轻易重构它。
  • 快速处理需要变异数据的复杂数据结构
  • 团队中现有的人,你必须重新培训他们去做一些新的事情。

但后来出现了Node.js,它把其他的东西做得更好。比如说。

  • 能够将应用程序直接卸载到云端
  • 相同功能的开发成本要低得多(甚至两倍)。
  • 在BE和FE上有相同的逻辑,而不必写两次代码
  • REST API端点
  • 同时对多个代码进行并行调用
  • 能够发送一个HTTP响应,但代码继续运行
  • 裙带关系
  • 图书馆与云服务合作
  • 响应时间明显改善,因为你不必启动一个巨大的应用程序
  • 功能齐全的范式(例如,你在JS中摆脱了你不需要的DIs)
  • 处理表格和数据的工作
  • 易于更新和活跃的开发者社区

**对Doctrine的评论:**我知道JS带来了很多与数据库打交道的库。甚至是像Mongo这样的新范式。我喜欢数据处理的方向。另一方面,我相信表格式的关系型数据库永远不会消失。当你在做一个真正的大项目时,你要管理多达数千万的记录,你只需要你非常熟悉的传统技术,并知道该怎么做。例如,我想添加一个列(属性),这意味着要用迁移脚本重新映射所有的实体,这个想法对我来说相当可怕。

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
9.
Status:
All systems normal.
2024