프레임워크의 종류


프레임워크란 무엇인가에서 다룬 개념은 이렇습니다: 구조와 해결된 기술적 세부사항, 그리고 프레임워크가 당신의 코드를 호출하는 것입니다. 이 장은 실제로 존재하는 것들의 지도입니다: 안심을 주는 투어입니다. 왜냐하면 이 모든 것을 아는 사람은 없기 때문입니다. 일하는 개발자는 한두 가지 계열을 잘 알고 나머지를 인식할 뿐이며, 여기서도 그것이 목표입니다. 계열이 이름보다 중요합니다: 한 멤버를 잘 배우면 그 형제들은 빠르게 따라옵니다.
웹: 프론트엔드와 백엔드
웹 프레임워크는 웹 자체가 나뉘는 선을 따라 나뉩니다. 프론트엔드 프레임워크는 브라우저에서 실행되며 사용자가 보는 것을 관리합니다. 백엔드 프레임워크는 서버에서 실행되며 데이터, 계정 및 백그라운드의 모든 것을 관리합니다. 웹 개발에 들어가면, 양쪽에서 하나씩이 일상적인 도구가 될 것 같으며, 어느 것을 선택할지는 보통 당신이 아닌 당신이 참여한 팀이나 프로젝트에 의해 결정됩니다.
만날 수 있는 프론트엔드 이름들:
- React: 매우 큰 차이로 가장 많이 사용되는, 가장 큰 에코시스템과 일자리 시장을 갖춘 것. 기술적으로 완전한 프레임워크보다는 UI 라이브러리이며, 이 구분은 아래에서 다룬 유용한 핵심을 가지고 있습니다.
- Vue: 부드러운 진입로와 실제로 즐겨 읽는 설명서로 유명합니다. 완전하고 잘 정리된 중간 경로입니다.
- Angular: Google의 배터리 포함 프레임워크로, 모든 것에 대해 의견이 강합니다. 각 작업에 대해 하나의 공식적인 방법을 원하는 큰 조직에서 가장 활용도가 높습니다.
- Svelte: 빌드 시간에 작업을 수행하고 브라우저에 더 적은 코드를 배송합니다. 작은 커뮤니티이지만, 그 안의 사람들로부터 자주 찬사를 받습니다.
그리고 백엔드 이름들은 프레임워크가 보통 언어와 연결되어 있습니다:
- Django (Python): 배터리 포함, 데이터베이스에서 관리 인터페이스까지. 이미 알 수 있는 Python의 자주 사용되는 파트너입니다.
- Rails (Ruby): 설정보다 관례를 대중화한 프레임워크. 그 아이디어는 대부분의 최신 웹 프레임워크, Laravel 포함에 울려 퍼집니다.
- Laravel (PHP): PHP 세계의 현대적 표준으로, 여전히 웹의 매우 큰 부분을 실행합니다.
- Express (JavaScript): 의도적으로 최소한이며, 완전한 프레임워크보다는 툴킷에 더 가깝습니다. 나머지는 직접 조립합니다.
- Spring (Java): 엔터프라이즈 워크호스입니다. 광대하고, 깊이 있게 확립되어 있으며, 큰 회사 어디에나 있습니다.
앱과 게임
모바일 개발은 자신의 프레임워크 이야기를 가지고 있으며, 그것은 한 가지 질문 중심입니다: iPhone과 Android를 위해 별도로 구축하거나 한 번에 둘 다 구축합니까? 두 가지 프레임워크가 한 번 빌드 답변을 지배합니다. Flutter (Google에서, Dart 언어 사용)는 자신의 인터페이스를 픽셀 단위로 그리므로, 앱은 어디서나 동일하게 보입니다. React Native React의 컴포넌트 모델을 모바일에 가져오고 각 플랫폼의 네이티브 인터페이스 조각을 운전합니다. 이것은 이미 React을 알고 있다면 자연스러운 계속입니다.
게임 엔진은 가장 총괄적인 프레임워크입니다: 그들은 초당 60번 실행되는 루프를 소유하고, 당신의 코드는 그 안에서 각 객체가 무엇을 하는지 채웁니다. Unity (C#)는 인디와 중견 게임, 모바일 게임의 많은 부분의 기본값입니다. Unreal (C++)은 큰 예산의 게임에서 영화 제작까지 시각적 충실도가 요점인 곳에서 주도합니다. **Godot는 무료, 오픈소스 엔진으로 커뮤니티가 빠르게 성장했으며, 시작하기 좋은 친절한 곳입니다.
조용한 것들: 테스팅과 데이터
모든 프레임워크가 제품 구축에 대한 것은 아닙니다. 어떤 것들은 그 주변의 작업을 구성합니다. 테스팅 프레임워크가 가장 명확한 경우이고, 지난 장의 정의의 가장 순수한 예입니다: pytest (Python), Jest (JavaScript), JUnit (Java)은 각각 당신의 테스트 함수를 찾고, 실행하고, 보고합니다. 당신은 당신의 자신의 테스트를 호출하는 프로그램을 작성하지 않습니다. 거의 모든 전문 코드베이스에서 하나를 만날 것입니다. 보통 프로젝트의 언어와 일치하는 것입니다.
데이터와 머신 러닝도 프레임워크를 가지고 있습니다. **PyTorch**는 연구에서 점점 더 프로덕션에서 지배합니다. **TensorFlow**는 Google의 깊은 프로덕션 도구를 갖춘 에코시스템입니다. 둘 다 모델 교육의 수학적 기계를 처리하므로 당신의 코드는 계산법이 아닌 모델을 설명합니다. AI 작동 방식 트랙이 당신에게 관심을 준다면, 이들이 그 세계가 구축하는 도구들입니다.
여기서 다음은 어디로
이것이 지도입니다: 와이어의 양쪽에 웹, 모바일, 게임, 테스팅, 데이터. 모두 다른 유니폼을 입은 같은 아이디어입니다. 남은 질문은 실무적인 것이며, 두 가지 반쪽을 가지고 있습니다: 어느 것, 그리고 하나도 아니냐. 프레임워크 선택 및 배우기는 둘 다 정면으로 마주합니다. 여기서의 정의가 불안정해 보인다면, 프레임워크란 무엇인가는 짧은 읽을거리입니다.

