ASP.NET Razor
1. 개요
ASP.NET Razor는 C# 프로그래밍 언어를 기반으로 하는 템플릿 마크업 구문으로, 프로그래머가 HTML을 쉽게 구성할 수 있도록 설계되었다. Razor는 코드 블록을 `@` 문자로 시작하며, HTML과 코드 간의 전환을 최소화하여 HTML 생성을 위한 최적화된 구문을 제공한다. 인텔리센스 지원, 레이아웃 지원, 단위 테스트 가능과 같은 장점을 가지고 있다.
이미지 준비중입니다.
| 개발자 | 마이크로소프트 |
|---|---|
| 개발 | 닷넷 재단 |
| 최초 릴리스 | 2010년 6월 |
| 안정화 버전 | 3.2.7 |
| 안정화 버전 출시일 | 2018년 11월 29일 |
| 미리보기 버전 | 4.0.0-rc1 |
| 미리보기 버전 출시일 | 2015년 11월 18일 |
| 저장소 | https://github.com/aspnet/Razor https://github.com/aspnet/AspNetWebStack https://github.com/dotnet/aspnetcore |
| 프로그래밍 언어 | C 샤프 비주얼 베이직 닷넷 HTML |
| 운영체제 | 마이크로소프트 윈도우 |
| 장르 | 웹 애플리케이션 프레임워크 |
| 라이선스 | 아파치 라이선스 2.0 |
| 웹사이트 | http://www.asp.net/web-pages |
| 파일 확장자 | .razor, .cshtml, .vbhtml |
|---|---|
| MIME 형식 | text/html |
| 개발 | 마이크로소프트 |
-
ASP.NET -
블레이저 (웹 프레임워크)
블레이저는 마이크로소프트가 개발한 웹 프레임워크로, .NET을 사용하여 웹 애플리케이션을 구축하며, C#과 Razor 구문을 사용해 컴포넌트를 만들고, 서버 측 및 클라이언트 측 렌더링을 모두 지원한다. -
ASP.NET -
ASP.NET 웹 폼
ASP.NET 웹 폼은 마이크로소프트의 ASP.NET 프레임워크를 사용하여 HTML, CSS, JavaScript와 서버 측 코드를 결합해 동적 웹 애플리케이션을 개발하는 기술로, 페이지 처리 지시어, 코드 비하인드 모델, 사용자 정의 컨트롤, 상태 관리, 템플릿 엔진 등을 제공하여 웹 개발 생산성을 높이고 이전 버전 ASP보다 성능, 보안, 개발 편의성이 개선되었다. -
아파치 라이선스 소프트웨어 -
안드로이드 (운영체제)
구글이 개발한 리눅스 커널 기반의 모바일 운영체제인 안드로이드는 오픈소스 플랫폼으로 다양한 기기에서 활용되며 세계적으로 널리 사용되지만, 개인정보 보호 문제와 독점적 지위 남용 논란 등의 비판도 존재한다. -
아파치 라이선스 소프트웨어 -
쿠버네티스
쿠버네티스는 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링, 관리하는 오픈 소스 시스템으로, 구글의 Borg 시스템에서 영감을 받아 설계되었으며 파드, 서비스 등의 기능을 제공하여 클라우드 네이티브 환경에서 중요한 역할을 한다. -
웹 프레임워크 -
드루팔
드루팔은 드리스 바이테르트가 개발하여 2001년 공개된 PHP 기반의 오픈 소스 콘텐츠 관리 시스템으로, 모듈과 테마를 통해 기능 확장이 가능하며 다양한 기관에서 활용되고 활발한 커뮤니티를 가지고 있다. -
웹 프레임워크 -
실버스트라이프 CMS
실버스트라이프 CMS는 PHP로 제작된 오픈 소스 콘텐츠 관리 시스템으로, 웹사이트 및 웹 애플리케이션을 개발하고 관리하는 데 사용되며, MVC 패턴과 Sapphire ORM 프레임워크를 활용하여 사용자 친화적이고 확장 가능한 플랫폼을 제공한다.
2. 설계
Razor는 HTML과 코드 간의 전환을 최소화하면서 코드 중심의 템플릿 접근 방식을 사용하여 HTML 생성을 위한 최적화된 구문을 제공한다. 이 설계는 문자 및 키 입력의 수를 줄이고, HTML 코드 내에서 명시적으로 표시된 서버 블록을 요구하지 않음으로써 보다 유연한 코딩 워크플로우를 가능하게 한다.
2.1. 레이저 구문의 특징
Razor 구문은 C# 프로그래밍 언어를 기반으로 한 템플릿 마크업 구문으로 프로그래머가 HTML 구성 워크플로우를 사용할 수 있도록 한다. 코드 블록을 나타내기 위해 `<% %>` 기호와 함께 ASP.NET 웹 폼(.aspx) 마크업 구문을 사용하는 대신, Razor 구문은 @ 문자로 코드 블록을 시작하며 코드 블록을 명시적으로 닫을 필요가 없다.
Razor의 아이디어는 HTML과 코드 간의 전환을 최소화하면서 코드 중심의 템플릿 접근 방식을 사용하여 HTML 생성을 위한 최적화된 구문을 제공하는 것이다. 이 설계는 문자 및 키 입력의 수를 줄이고, HTML 코드 내에서 명시적으로 표시된 서버 블록을 요구하지 않음으로써 보다 유연한 코딩 워크플로우를 가능하게 한다. 다른 장점은 다음과 같다.
* 인텔리센스 지원 (문 자동 완성 지원)
* "레이아웃" 지원 (클래식 웹 폼의 "마스터 페이지" 개념에 대한 대안)
* 유닛 테스트 가능