Angular 2를 사용하기 시작했을 때 3가지 +

6456 단어 angularjavascript
현재 2020년, Angular는 버전 10에 1200명이 넘는 공헌자와 18500회가 넘는 공헌자를 제출했다.나는 이 프로젝트가 지난 몇 년 동안 약간의 진전을 거두었다고 확신할 수 있다고 생각한다.
그러나 내가 Angular를 사용하기 시작했을 때 (나는 4판을 사용하기 시작했다) 이런 것들은 나에게 결코 중요하지 않았다.귀신이 곡할 노릇이다. 나는 소스 소프트웨어가 무엇인지 설명할 수도 없고, Typescript가 무엇인지 설명할 수도 없다.나에게 있어서 Angular는 모든 사람들이 사용하고 있는 유행 프레임워크일 뿐이다. 이것도 그것을 사용하기 시작한 충분한 이유이다.
소프트웨어 공학에 대해 더 많이 알게 되면서 저는 React와 Vue 등 프레임워크를 시도했습니다. 심지어 몇 달 동안 저는 Angular가'강하지 않아서 제 수요를 만족시킬 수 없다'고 생각했습니다. 왜냐하면 React와 같은 간단한 상태 관리 시스템이 없기 때문입니다.그러나 시간이 흐르면서 저는 끊임없이 공부했습니다. 제가 Angular를 사용하여 완성한 모든 후속 프로젝트에 따라 익숙한 틀에서 벗어나기 어려워졌습니다.나는 이미 정식으로 각진 개발자가 되었다.
지난 몇 년 동안 나는 Angular로 production-ready apps을 구축했고 나의 출발점에서 점점 멀어졌다.기본 JavaScript를 작성하는 방법을 배우면서 "사용"(또는 더 정확히 말하면 더듬더듬 사용) Angle을 시작하는 것을 고려하면 의미가 없을 수도 있습니다.
이 글에서 저는 지금 제가 알고 있는 앵글러에 관한 세 가지를 공유하고 싶습니다. 저는 더 일찍 알았으면 합니다.

제1과: 그럼 이 TypeScript라는 것은 무엇입니까?


당시 JavaScript를 거의 쓰지 못했던 사람에게 TypeScript를 사용하는 것은 그 어떤 것보다 번거롭다.내가 Angular를 사용하기 시작했을 때, 만약 내가 Angular 프레임워크를 사용하고 싶다면, TypeScript는'필요한 악마'이다. 나는 그것을 배워야 한다.대부분의 초보자들처럼 나는 C언어를 배울 때부터 항상'정적 입력'이라는 개념이 짜증난다. 왜냐하면 그것은 나에게 하루에 추가 키 횟수를 증가시켰기 때문이다.당시 나는 C와 같은 정적 유형의 언어가 과거의 언어라고 생각했다.
내 생각에--왜 모든 언어가 자바스크립트처럼'유형'이라는 개념이 없지?
모든 변수 유형을 추적할 필요가 없기 때문에 저에게는 Javascript가 더 쉽습니다.하나의 변수는 하나의 변수이다. 바로 이렇다.이것이 바로 누군가가 자바스크립트 작성을 완전히 피하는 이유라는 것을 나는 지금 알고 있다.
Typescript는 정적 유형이고 JavaScript는 동적 유형입니다.즉, TypeScript의 경우 모든 변수 유형은 컴파일할 때 알려진 것이지 실행할 때 알 수 있는 것이 아닙니다.
왜 이 사실이 그렇게 많은 각진 개발자들을 흥분하게 합니까?이 질문의 일반적인 답안은 다음과 같습니다.
  • JavaScript의 모든 기능과 "유형"의 장점
  • 향상된 IDE 체험
  • 브라우저 호환성
  • 하지만 이런 것들은 나를 진정으로 흥분시키지 않았다.TypeScript가 나를 흥분시키는 것은 두 가지가 있다. 그것은 나의 인코딩 과정을 더욱 효율적으로 하고 나의 사고를 더욱 조리 있게 한다.
    내 IDE(Vscode)는 코드 오류를 작성할 때 이 오류를 포착합니다. 이것은 반대로 함수의 매개 변수와 반환 형식을 작성할 때 더욱 엄격하게 합니다.반복
    각도 구성 요소를 작성하는 경우 백엔드 API에서 일부 데이터를 가져옵니다(이 예에서는 JSONPlaceholder).
    {
      "userId": 1,
      "id": 1,
      "title": "delectus aut autem",
      "completed": false
    }
    
    따라서 구성 요소를 작성할 때 HTTP 클라이언트를 구성 요소 자체에 배치하고 (프로젝트에 이 작업을 수행하지 마십시오 - 서비스에 넣지 마십시오) 템플릿에 데이터를 되돌려줍니다.
    이 모든 것은 실행할 수 있다. 프로젝트가 얼마나 간단하기 때문에 따르기 어렵지 않다.그러나 API가 커지면 같은 항목에서 수백 개의 다른 파일을 편집하면 API의 반환 유형을 기억하기 어렵다.
    현재 Angular 프로젝트는 API가 무엇을 되돌려줄지 모르고 거의 모든 내용을 받아들일 수 있습니다.우리들은 이 서류들에 대해 약간의 개선을 진행하여 우리의 미래 자신을 위해 약간의 번거로움을 절약할 것이다.
    이 파일은 보기에는 다르지 않지만, 현재 우리의 IDE는 우리의 API가 무엇을 가져올지 정확하게 알고 있다.이것은 다음과 같은 모든 일을 허용한다.
  • 백엔드 모델이 변경되면 Angular 응용 프로그램의 인터페이스를 업데이트하고 IDE가 이 변경으로 인해 코드
  • 에 오류가 발생했는지 알려 줍니다.
  • this.todo.을 입력하기 시작하면 IDE에서 개체
  • 의 알려진 속성을 제안합니다

    별거 아닌 것 같지만 한 프로젝트에서 수백 수천 개의 유형을 정의할 때 IDE에서 인텔리센스를 얻으면 시간을 많이 절약할 수 있다.

    제2과 모서리가 뚜렷한 사람은 자기 의견을 고집하니 논쟁하지 마라


    내가 처음에 Angular를 배우기 시작했을 때, 나는 Typescript의 유용성을 이해하려고 시도했을 뿐만 아니라, 클래스가 무엇인지, 장식기가 어떻게 작동하는지, 주입에 의존하여 무엇을 했는지, 그리고 더 많은 개념을 이해하려고 시도했다.
    어떤 의미에서 나는 이 두 개념의 의미를 알기 전에 디자인 모델과 대상 프로그래밍으로 인코딩을 해 왔다.나중에 나는 Head First Design PatternsElements of Reusable Object-Oriented Software의 일부 내용을 읽었는데 Angular가 이미 몇 가지 디자인 모델을 사용하고 있다는 것을 발견했다.
    Angular와 같이 자신의 의견을 고집하는 프레임워크를 사용하는 주요 장점 중 하나는 깨끗한 코드를 배우고 작성해야 한다는 것이다. (보증은 없지만 - 경솔한 Angular 코드를 작성할 수 있는 방법이 있을 것이다.)
    다음은 Angular의 몇 가지 관점입니다. 저는 처음부터 이러한 관점을 더욱 진지하게 다루고 싶습니다.
    '기능 모듈'의 개념 - 나는 적어도 4개의 완전한 각도 항목을 써서야 모든 코드가 app.component에 놓여야 한다는 것을 깨달았다고 생각한다.Angular는 강력한 모듈 시스템을 가지고 있습니다. feature modules과 제 응용 프로그램에서 어떻게 실제적으로 견고한 원칙을 응용하는지 배우기 시작했을 때 저는 Angular 프레임워크의 진정한 힘을 깨달았습니다.
    Typescript--여기서는 좀 헛수고하는 것 같지만, Angular가 Typescript를 사용하라고 강력히 건의합니다. 받아들일 만한 관점이라고 생각합니다.네, "강렬한 건의"라고 말할 때, 내 말은 Angular에서 vanilla JavaScript를 사용하는 것은 당신의 일을 더욱 어렵게 할 수 있지만, 대용량에서 사용하는 것은 현명하지 않다는 것입니다.
    관찰자 모드(일명 rxjs) - 각도는 관찰과 함수 프로그래밍에 매우 적합하다.이런 개념들은 공부하는 데 시간이 좀 걸리지만, 일단 요령을 터득하면 다시는 돌아오지 않을 것이다.읊다, 읊조리다
    입력과 출력: 구성 요소 모드 -'관심점 분리'의 소프트웨어 원칙에 부합됩니다. 만약 당신이 그것을 진정으로 배우는 데 하루가 걸린다면, 당신의 코드는 이전보다 10배 깨끗해질 것입니다.무슨 말인지 모르겠어요.통독 async pipe.입력과 출력을 사용하면 처음에는 곤혹스러울 수 있지만, 그것을 사용하면 우리가'벙어리 구성 요소'라고 부르는 구성 요소를 만들 수 있습니다. 이 구성 요소는 수신한 입력에서 완전히 실행될 수 있습니다.일반적인 UI 요소(예를 들어 단추,modals 등)의 구성 요소 라이브러리를 만들고 있다면 매우 유용합니다. *ngFor 명령을 사용하여 복잡한 대상을 iterables로 사용할 때도 유용합니다.
    Angular는 더 많은'관점'을 가지고 있다. 대부분의 개발자들에게 이것은 React처럼 자신의 의견을 고집하는 프레임워크가 아닌 Angular를 사용하는 좋은 이유이다.만약 당신이 생활과 호흡 디자인 모델의 슈퍼스타 소프트웨어 엔지니어라면, Angular의 의견은 그렇게 매력적이지 않을 것이다. 나는 네가 왜 아직도 이 글을 읽고 있는지 모르겠다.그러나 나처럼 Angular를 소프트웨어 공학을 배우는 도구로 사용하는 사람들에게는 생명의 허수아비이며, 나로 하여금 더욱 깨끗하고 모듈화된 코드를 작성하게 한다.

    영웅의 여행 강좌의 이 부분 제3과:Angular는 가파른 학습 곡선을 가지고 있지만, 이로 인해 낙담하지 마라


    이 점은 내가 토론한 모든 다른 내용을 포함하지만, 나는 중복할 가치가 있다고 생각한다.
    적어도 처음 몇 년 동안, 나는 Angular를 사용했는데, 이것은 사람을 곤혹스럽게 했다.정말 곤혹스럽다.
    이외에도 나는 사람들로부터'전단 개발은 간단한 개발 유형'이라는 이야기를 끊임없이 들었다.그렇기 때문에 나는 내가 그 간단한 일을 넘어서 더 좋은 일을 향해 나아가도록 추진해야 한다고 생각한다.
    나는 내가 더욱 일찍 이런 심리 상태를 버릴 수 있기를 바란다.
    과거에 프런트엔드 개발은 HTML, CSS, 그리고 서투른 자바스크립트와 관련되었다.오늘날 세계에서 전단 개발자들은 건장한 단일 페이지 응용 프로그램을 작성할 수 있다.긴말은 짧게?전단 개발은 이전보다 훨씬 강력하다. 경험이 풍부한 개발자에게도 도전이다!
    따라서, 만약 당신이 Angular를 사용하기 시작했을 때, 아직 그 비결을 완전히 파악하지 못했다면, 계속해서 당신 앞에 있는 곤혹스러운 코드를 주시하세요.최종적으로 이런 종류의 장식기, 관찰 대상과 지령은 의미가 있을 것이다.일단 그들이 해낸다면, 너는 진정으로 Angular가 무엇을 제공할 수 있는지 보게 될 것이다.
    — — —
    이거 좋아요?여기에는 다음과 같은 것들이 있습니다.

    Imperative vs. Declarative Programming

    좋은 웹페이지 즐겨찾기