为Angular开发者提供的高效全栈开发工具 – MAN堆栈
MongoDB + Angular + NestJS:
MongoDB + Angular + NestJS:
这是我在Qiita的首次投稿。我目前正在从事后端工程师的工作,并希望将来能成为一名全栈工程师。
如果你在关注NestJS的官方Twitter账号的话,你可能会发现Raj Sekhar先生写了一篇名为《Angular开发者的快速全栈——MAN Stack(第一部分)》的文章,类似于“什么是全栈开发者?”。为了练习英语,我将这篇文章翻译了并分享给大家。
我个人认为,Angular和Ruby on Rails的相似之处很有趣。我希望在将来,NestJS和Angular在日本可以在许多公司得到广泛应用。
有些地方变成了像谷歌翻译一样费解的日语,非常抱歉。
以下是原文的翻译选项。
专为Angular开发者设计的超快速全栈- MAN堆栈
最近,人们对于人工智能、数据科学与分析、云计算以及DevOps的错误理解和要求越来越高,但对于全栈开发者/工程师的要求水平仍然远未达到同等水平。特别是在取代前后端之间的分界线的领域中,近期尤其备受关注。
可能是由于初创企业和小型企业的增长,迫使他们尽快将网站推向市场,并筹集创业资金和抢占市场份额。
至于跨国公司,它们在前端和后端两方面都进行了成本削减,采用了最少的成本由一个员工进行开发,以便将更多资源投入到成长技术和研发财务中。
根据StackOverflow在2019年的调查,约有一半的回答者认为自己是全栈开发者。这或许反映了近年来对全栈开发者的需求增加。
我选择与Angular一起开始Web开发的原因如下。
-
- Typescriptが使われている
-
- RxJSが使われている。
-
- ” opinionated framework”だから。つまり全Angularプロジェクトの中のベストプラクティスに従った、熟知されたプロジェクト構成ということだ。この意味ではAngularがRuby on Railsに似ているとも言える。
-
- CLIがウィザードで、よりパワフルになっていくから。
-
- 全てのコードをscaffoldしてくれて私の暮らしをゆったりとさせ、私自身の魔法創造に専念させてくれる。
- 素晴らしいコミュニティがある。
为了成为一名全栈开发人员,我现在必须学习后端开发。这样一来,我就能理解任何 web 应用的所有功能。
我认为以下这四点是成为全栈开发人员所需的条件。
-
- フロントエンドとバックエンドのコンセプトと原理
-
- 当たり前だ!これは明らかに必要だ。
-
- フロントエンドとバックエンドそれぞれのためになるバックエンドのプログラミング言語を学習。
-
- Web開発でもっとも一般的なプログラミング言語はJavascript、Ruby、Java、Python、Goがある。
-
- より早い開発を行えるようにするため、その言語でのフレームワークを探し、構文とベストプラクティスを学習する。
-
- もっともポピュラーなバックエンドの技術スタックのいくつかにRuby On Rails, Spring boot, Express, Django, Revel, Laravelがある。
-
- 保守や他の人が理解しやすいようなプロジェクトアーキテクチャをデザインする。
- Model-View-Controller (MVC), Hierarchical-Model-View-Controller (HMVC), Model-View-Presenter (MVP), Model-View-ViewModel (MVVM), Model-View-whatever (MVW or MV*).(AngularはMVWフレームワークだ)
我可以自由地设计项目架构……但是,如果新人加入项目会怎样呢?能否很容易理解并且立即掌握呢?
由于存在众多不同的选择,对于那些特别是在职业上开始的人来说,可能会感到压倒。
感谢Ryan Dahl为我们创造了Node.JS。
现在有了JavaScript,可以简单地编写客户端和服务器端,并降低学习其他语言的负担。目前Express是最流行的NodeJS框架,它快速、简约、轻量且拥有庞大的社群支持。
但是请等一下。
我还需要学习Express的语义和文法,以及最佳实践。由于非个人意见的框架需要学习项目结构,与其他项目不同,因此更换项目会花费一些时间适应。
换句话说,Node+Express明显有助于Javascript开发者编写服务器端程序,但也带来了新的语法和最佳实践的学习曲线,使得切换项目变得困难。
引入NestJS
NestJS是一种进步的NodeJS框架,由Kamil Mysliwiec创建,与Angular共享许多概念。Angular受到NestJS的启发,使用TypeScript和响应式JavaScript开发。NestJS是高效、可扩展、可测试且性能高的服务器端应用程序框架,是近期快速发展的NodeJS框架。
NestJS是一个具有出色文档和具备GraphQL、WebSockets和微服务架构等特性的面向未来的框架。
对于Angular开发者来说,NestJS看起来是相似的。
为什么MAN技术堆栈如此快速和可信赖?
-
- プロジェクト構成:AngularとNestJSの両方はopinionatedなフレームワークなので、新人開発者にとって、既存のどのプロジェクトについても保守しやすくなっている。
- フレームワーク:サービス、依存性注入、デコレータ、モジュールなどの多くのコンセプトがフロントエンドとバックエンドの間で共有されており、文法もAngularとNestJSで似ている。
作为Angular开发者,这些共享的概念和特征使得知识和经验能够被重新利用和编码更方便。
让我们开始使用NestJS吧!
你可以通过两个简单的命令开始使用NestJS。
安装NestJS: npm i -g @nestjs/cli
创建项目: nest new project-name
如果你正在寻找代码,我计划要创建一篇关于使用Angular和NestJS制作简单的待办事项列表应用程序的文章,请耐心等待。
请参考下面的文章。
快速开发全栈应用——The MAN Stack (第一部分):面向Angular开发者