【发布时间】:2021-04-15 00:29:44
【问题描述】:
我已经编程好几年了。 到目前为止,我主要专注于编写在控制台或 GUI 内运行的“普通”应用程序,有时还有与传感器/演员/等硬件组件交互的应用程序... 在这段时间里,我了解了很多很酷的编程原理和工具,例如面向对象、模块化、单元测试、测试驱动开发、设计模式、代码分析……
我也有一些关于托管 wordpress 博客、在 nginx 网络服务器上运行静态网站以及编写一些小型 php 表单的经验。但我觉得在所有这些 Web 开发主题中仍然有太多的魔力。我想填补这个空白,更多地了解所有这些连接的脚本/编程语言和技术。 (因为我讨厌,当我不明白事情是如何运作时 :D :D ) 我从 udemy 的一些在线“Web 开发训练营”课程开始,以获得粗略的概述。这花了好几天的时间,我认为用于 DOM 操作/动画的 HTML、CSS 和 Javascript 现在对我来说很清楚了。我也听说过很多关于 NodeJS 及其衍生语言和数据库(如 Mongo-DB)的信息。但我还是觉得有很多事情不清楚。
为了更好地理解,我想开发一些小型 Web 应用程序。没什么特别的,只是一些你必须登录的网站能够生成一些数据,然后这些数据被持久化到数据库中,一旦你再次登录,你就可以再次看到数据。 我一开始是在 Javascript 中开发一些类来表示登录时浏览器中的数据。但我很快意识到可以在浏览器中运行的 Javascript 非常有限,并且已经用于单元测试和模块化到单独的文件中包括彼此我实际上需要做一些疯狂的工作或使用其他服务器端语言,如 nodejs / php / ...。 经过一段时间的编码后,我决定退后一步,尝试了解 Web 应用程序的基本设计模式,并且不会长时间运行到错误的方向。
我的问题是:
- 在开发 Web 应用程序时是否有一些典型的方法/最佳实践?
- 典型的关键人物有哪些?我知道前端、后端和数据库之间是有区别的。
- 但是WebDev 的追随者是否有一些注意事项?
例如:
- 哪些代码通常用后端/服务器端语言编写?
- 前端通常做什么? (只有设计和动画?)
- 出于安全原因,我是否必须将所有业务逻辑移至后端,还是出于性能原因,这可能也是一个坏主意?
- 哪些编程语言或多或少已经消亡并且将来不会被使用?
- 通常从框架中重用哪些东西,例如身份验证和会话处理?
另外我觉得我从其他编程语言中知道的一些东西在 javascript / nodejs 等语言中并不那么容易。我愿意花时间和精力来学习所有这些东西,但我也想保持我从 C++ 中了解的质量标准/ Python。另一方面,我也想知道我脑海中的这些模式是否只是在现代 Web 开发中完全无用的边界? (例如,打字、面向对象、模块化/拆分代码以非常可重用)
你认为我在这里走错了路,还是我可能只是使用了错误的语言?
我希望长文本不会让每个人都失望/让每个人都无法回答我:o 我非常感谢您的帮助和指导,以更好地理解所有内容,并且不要重复很多其他人已经做错的事情;)
BR,中层
【问题讨论】:
标签: frontend backend web-development-server