집 >백엔드 개발 >C#.Net 튜토리얼 >여러 RIA 기술 소개
데스크탑 소프트웨어의 좋은 사용자 경험과 웹 애플리케이션의 쉬운 배포를 결합한 새로운 웹 애플리케이션 아키텍처인 리치 인터넷 애플리케이션(RIA)은 기업들 사이에서 빠르게 인기를 얻었습니다. 최근 몇 년 동안 주요 개발 플랫폼 공급업체에서는 RIA 개발을 지원하기 위해 Ajax에서 SilverLight, Apollo와 AIR에서 Flex 및 Flash, JavaFX에서 Laszlo에 이르기까지 다양한 기술이 무대에 등장하여 모든 사람의 관심을 끌기를 기대하고 있습니다. 집중하다.
그러나 응용 프로그램 시스템 개발 공급업체, 개발 팀 및 개발자로서 RIA 추세에서 RIA 시스템을 더 잘 구축하기 위해 어떤 기술을 선택해야 하는지는 신중하게 고려해야 할 질문이 되었습니다.
AJAX
Ajax는 실제로 새로운 기술을 사용하여 일부 고대 기술을 결합함으로써 WebApplication 사용자 인터페이스의 상호작용성을 크게 향상시킵니다.
Ajax에서 XMLHttpRequest는 Ajax의 강력한 기능의 핵심이자 소스입니다. 이것이 Ajax와 기존 웹 인터페이스 기술의 차이점입니다. XMLHttpRequest를 통해 브라우저의 HTML(DHTML)과 서버측 데이터가 분리됩니다. JavaScript를 사용하여 클라이언트를 조작하여 서버에 액세스하여 데이터를 얻고 HTML 구조를 수정하여 데이터를 표시합니다. Ajax를 사용하는 전형적인 예는 Gmail과 Google Maps입니다.
Flash/Flex/Laszlo
Flex는 기업 수준의 애플리케이션을 충족하기 위해 출시된 애플리케이션 프레임워크입니다. Flex는 리치 클라이언트 애플리케이션의 프레젠테이션 계층을 개발하고 배포하기 위한 표준 기반의 선언적 프로그래밍 방법과 프로세스를 제공합니다. Flex 개발자는 직관적인 XML 기반 MXML을 사용하여 풍부한 사용자 인터페이스를 정의하고 ActionScript(객체 지향 스크립팅 언어)를 사용하여 프로그램 로직을 작성합니다.
언어는 Flex 서버에 의해 FlashPlayer에서 실행되는 SWF 형식의 클라이언트 애플리케이션으로 변환됩니다. 현재 Flex는 Flex 3.0 베타를 출시했습니다.
Laszlo는 오픈 소스 RIA 개발 환경입니다. Laszlo 플랫폼을 사용할 때 개발자는 LZX(XML과 JavaScript를 통합한)라는 설명 언어만 작성하면 되며 J2EE 애플리케이션 서버에서 실행되는 Laszlo 플랫폼은 이를 swf 형식 파일로 컴파일하여 클라이언트에 전송하여 표시합니다. . 향후 계획에서 Laszlo는 LZX를 Java 또는 .NET 네이티브 코드로 컴파일하여 운영 효율성을 크게 향상시킬 수도 있습니다. Laszlo 4.0의 최신 릴리스에서 개발자는 Laszlo가 궁극적으로 Flash 또는 DHTML로 표시되는지 여부를 선택할 수 있습니다.
Flex와 Laszlo는 모두 실행 위치의 관점에서 볼 때 서버 측 기술이며 ASP, ASP.NET, JSP 및 PHP의 친숙한 실행 메커니즘과 유사합니다. ASP와 같은 동적 웹 페이지 기술은 인터페이스 요소를 HTML로 구문 분석하고 이를 클라이언트의 브라우저에 전송하여 표시하는 반면 Flex 및 Laszlo는 인터페이스 요소를 바이너리 swf 파일로 구문 분석하여 브라우저의 FlashPlayer 플러그인에서 실행합니다.
AIR
AIR는 이전에 Apollo로 알려져 있었습니다. Adobe의 공식 설명은 다음과 같습니다. 개발자가 이전 웹 개발 기술을 사용하여 리치 인터넷 애플리케이션을 만들고 이를 데스크탑에 배포할 수 있는 교차 운영 체제 운영 환경입니다. 달리다. 일반적으로 AIR는 Flash, PDF, JavaScript, XML 및 ActionScript와 같은 기존 기술을 통합하고 개발자가 인터넷 리소스에 액세스할 수 있는 데스크톱 프로그램을 개발할 수 있는 클라이언트 런타임 환경을 제공하는 Adobe입니다. 기본적으로 AIR는 Flash(또는 Ajax)가 브라우저와 독립적으로 실행될 수 있도록 하는 데스크톱 응용 프로그램 실행 환경입니다.
AIR 애플리케이션을 개발하는 방법도 매우 간단합니다. 하나는 HTML+JS 기술을 사용하고 다른 하나는 Flex+Flash를 사용합니다. 사용할 수 있는 개발 도구는 위의 기술을 개발하기 위한 도구(예: flexbuilder, 플래시 IDE, eclipse, 메모장 등)입니다.
AIR를 사용하여 RIA를 개발할 때의 장점과 단점은 Flex 등과 유사합니다. 가장 큰 장점은 독립적인 데스크톱 프로그램으로 브라우저와 독립적으로 실행할 수 있으며, 브라우저 보안 제한을 받지 않으며, 로컬 리소스에 액세스할 수 있는 추가 권한.
현재 AIR는 아직 테스트 단계이고 많은 기능이 아직 완벽하지 않습니다. 정식 버전이 출시된 후에는 기대할 수 있는 기능이 더 많아질 것이라고 믿습니다.
WPF
MFC에서 VB, WindowsForms에서 HTML+JS까지 다양한 기술을 사용하여 애플리케이션의 사용자 인터페이스를 개발할 수 있습니다. 개발자의 경우 이를 위해서는 다양한 애플리케이션 유형에 대해 다양한 인터페이스 개발 기술을 사용해야 합니다. Flash와 같은 멀티미디어 2D 또는 3D 인터페이스의 출현으로 선택의 폭이 점점 더 넓어졌습니다. 하나의 기술을 사용하여 다양한 애플리케이션을 위한 인터페이스를 개발하려는 경우 이는 큰 도전이 될 것입니다.
원래 코드명이 "Avalon"이고 현재 .NET 3.0의 구성 요소로 출시된 WPF(Windows Presentation Foundation)는 이 문제를 해결하도록 설계되었습니다.
WPF는 데스크톱 클라이언트와 브라우저 클라이언트를 위한 공통 기반을 제공하여 두 클라이언트 모두에 대한 애플리케이션 개발을 크게 단순화합니다. WPF는 보다 현대적인 접근 방식을 취하고 비디오, 애니메이션, 2D 또는 3D 그래픽, 다양한 유형의 문서를 지원하므로 사용자는 완전히 새로운 방식으로 정보를 처리할 수 있습니다. 또한 WPF는 데스크톱 클라이언트와 브라우저 클라이언트를 위한 공통 기반을 제공하여 두 클라이언트 모두에 대한 애플리케이션 개발을 크게 단순화합니다.
Microsoft의 차세대 인터페이스 기술인 WPF의 가장 큰 특징은 인터페이스 레이아웃 설명과 인터페이스 로직 코드를 분리한다는 것입니다. WPF는 전문 인터페이스 디자이너의 작업과 전문 프로그램 개발자의 작업을 분리하고 XAML(Extensible Application Markup Language, 사용자 인터페이스를 코드가 아닌 선언적으로 지정할 수 있는 XML 기반 언어)을 통해 이를 더 쉽게 만듭니다. 놀라운 인터페이스와 강력한 기능을 갖춘 애플리케이션.
동시에 Microsoft는 인터페이스 디자이너를 위해 Expression Studio를 출시하고 Visual Studio 2008을 출시합니다(RTM은 올해 말 출시 예정).
더 강력한 그래픽 지원을 제공함으로써 WPF는 Windows Forms 또는 기타 이전 기술에서는 불가능했던 다양한 데이터 시각화를 가능하게 합니다. 또한 WPF는 고정 형식 문서 보기, 배포 및 인쇄를 위한 표준 형식을 정의하는 XPS(XML Paper Spec)의 기반을 제공합니다.
Silverlight
Silverlight는 원래 코드명 "WPF/E"였습니다. 이는 WPF가 모든 곳에서 실행된다는 의미이며 WPF의 하위 집합입니다. Silverlight는 커뮤니티에서 Microsoft가 제작한 Flash Killer로 알려져 있습니다.
공식 정의는 다음과 같습니다. "Silverlight는 차세대 .NET 기반 미디어 경험과 풍부한 대화형 애플리케이션을 인터넷에 제공하는 크로스 브라우저, 크로스 플랫폼 플러그인입니다." Silverlight는 유연한 프로그래밍 모델을 제공하고 AJAX, VB, C#, Python, Ruby 및 기타 언어를 지원하며 기존 WebApplication에 통합되어 DOM 정보에 액세스합니다. 내장된 멀티미디어 기술 지원으로 매우 저렴한 비용으로 미디어 파일을 재생할 수 있습니다.
현재 Silverlight는 1.0 베타와 1.1 알파의 두 가지 버전을 출시했습니다. Windows 및 Mac 플랫폼에서 실행할 수 있습니다. 동시에 Mono 프로젝트는 Linux에서 Silverlight를 구현한 Moonlight도 적극적으로 개발하고 있습니다.
XUL
XUL은 Mozilla의 오픈 소스 프로젝트에서 제공되는 XML 기반 사용자 인터페이스 언어입니다. Mozilla 브라우저뿐만 아니라 Zulu(FlashMX 구성 요소) 및 Thinleys(Java 구현)와 같은 다른 렌더링 엔진에서도 실행할 수 있는 양식 애플리케이션을 구축하는 데 사용할 수 있습니다. XUL 설명 엔진은 매우 작으며(100K 미만) XML 데이터를 사용하거나 XML 데이터를 생성할 수 있습니다. XUL의 주요 단점은 현재 주요 상업 단체의 지원을 받지 못한다는 것입니다. XUL의 가장 큰 장점은 Gecko 엔진과의 통합(다수의 웹 표준으로의 문을 열어줌)과 대부분의 다른 XML 사용자 인터페이스 설명 언어에 비해 매우 표현력이 풍부하고 간결하다는 사실입니다.
현재 XUL은 Mozilla(또는 FireFox) 브라우저에 내장되어 XULRunner 운영 환경을 통해 브라우저와 독립적으로 실행될 수 있습니다.
JavaFX
"JavaFX는 RIA(리치 인터넷 애플리케이션)를 데스크탑, 모바일 장치, 휴대용 장치 및 TV 환경에 제공하는 데 사용할 수 있는 Java 기술을 기반으로 구축된 완전한 런타임 환경입니다." SUN JavaFX는 다음과 같이 정의됩니다. 이것. JavaFX는 RIA 분야에 진출한 SUN의 개발 기술로, JavaFXScript와 JavaFX Mobile의 두 부분으로 구성되어 있으며, 새로운 스크립팅 언어를 사용하고 Java SE/ME 런타임에 의존하며 Java2D 및 SwingAPI를 사용하여 데스크톱 또는 모바일 장치에서 RIA를 실행합니다. . 애플리케이션.
세 가지 RIA 기술 비교
위의 다양한 RIA 개발 기술 소개를 통해 각각의 개념이 다르고, 동작 환경도 다르다는 것을 알 수 있습니다. 일반적으로 RIA 개발 기술은 세 가지 범주로 나뉩니다:
1. 브라우저 범주. 전체 RIA는 브라우저에서 실행되며 전통적인 HTML+CSS+JavaScript 기술을 사용하여 인터페이스 성능과 제어를 달성합니다.
2. 브라우저 플러그인 클래스인 RIA는 플러그인을 통해 브라우저에서 실행됩니다. 실행 프로그램에는 제조업체별 실행 형식이 있으며 특정 실행 환경이 필요합니다.
3. 데스크톱 유형, RIA는 브라우저 없이 데스크톱에서 직접 실행됩니다. 일반적인 데스크톱 프로그램과 매우 유사하지만 인터넷 리소스에 접근할 수 있고 배포가 쉽고 업데이트가 간단한 특징을 가지고 있습니다.
세 가지 기술 범주 중 브라우저 기술은 RIA 개발에 가장 직접적인 기술이 되었습니다. 이러한 유형의 기술은 웹 응용 프로그램을 수행해 온 소프트웨어 개발자에게 적합합니다.
새로운 데스크탑 기술은 데스크탑 개발의 기술, 기술 및 개념을 최대한 활용하고 손쉬운 배포와 즉각적인 설치를 위해 WebApplication의 장점을 결합한 완전히 새로운 것입니다. 이러한 유형의 기술은 Windows 애플리케이션 개발자에게 적합합니다.
브라우저 플러그인은 브라우저 기술과 새로운 데스크탑 간의 절충안입니다. 새로운 기술을 사용하여 풍부한 인터페이스를 구현할 뿐만 아니라 기존 웹 기술과도 부분적으로 통합됩니다.
어떤 RIA 기술이 귀하에게 적합합니까?
RIA는 미래 응용 시스템 개발의 중요한 방향입니다. 많은 소프트웨어 개발 회사, 개발 팀 및 개발자는 미래에 자신에게 적합한 기술을 찾기를 희망합니다. 절반의 노력으로 두 배의 결과를 얻을 수 있으며, 개발 효율성을 높이고 개발 비용을 줄이는 동시에 풍부한 경험과 완벽한 기능을 갖춘 소프트웨어 시스템을 고객에게 제공할 수 있습니다.
위에서 다양한 기술과 그 장점과 단점을 소개하고 분류했지만, "어떤 것을 선택해야 할까요?"라는 질문에 답하기 위해서는 다음과 같은 상황도 고려해야 할까요?
우선, 우리의 상황:
◆ 현재 귀하의 기술 역량은 주로 웹 개발에 있습니까, 아니면 Windows 개발에 있습니까?
◆ 현재 개발 중인 애플리케이션의 기능 유형은 주로 콘텐츠 표시 또는 트랜잭션 처리에 중점을 두고 있나요?
◆ 현재 주로 어떤 제조사나 기관의 기술을 사용하고 있나요? .NET, JAVA 또는 기타 웹 기술?
◆ 현재 RIA 또는 RIA와 유사한 것을 개발하고 있나요?
◆ 현재 어떤 RIA 개발 기술을 사용하고 있나요?
둘째, 기술 선택 기준을 고려하십시오.
◆ 학습 비용, 개발 효율성
◆ 애플리케이션 유형에 대한 적합성
◆ 운영 환경 배포 비용
◆ 운영 효율성
◆ 완전한 기능적 특징
◆ 기술 라이센스 비용 및 서버 배포 비용, 오픈 소스, 무료 또는 유료
◆ 공식 및 커뮤니티 기술 지원
◆ 완벽한 개발 도구
◆ 완벽한 UI 구성 요소
◆ 크로스 플랫폼 기능
마지막으로 우리는 특정 상황을 기반으로 합니다. 기술 선택 기준은 이러한 기술의 포지셔닝과 순위를 제공할 수 있습니다.
기술적 운영 환경 배포 비용에 따른 비교(낮음부터 높음까지):
Ajax > Flex/Laszlo> Silverlight > 오픈 소스: Ajax, Laszlo, XUL, JavaFX
무료: Silverlight , WPF, AIR
유료 제품은 다음과 같습니다. Flex
기술 지원 측면에서 보면 Silverlight와 WPF가 최고의 공식 지원을 받을 것이라는 데는 의심의 여지가 없으며 Flex 공식 기술도 향상되고 있으며 기타 기술은 주로 Flex에 의존합니다. 커뮤니티 지원.
개발 도구에 관한 한: Silverlight와 WPF에는 사용할 수 있는 가장 강력한 도구가 있고, Flex, AIR 및 Laszlo에도 사용할 수 있는 뛰어난 IDE가 있으며, JavaFX용 개발 도구는 아직 명확하지 않으며, Ajax는 특정 구현에 따라 다릅니다. XUL 개발 도구의 발전은 느렸습니다.
사용 가능한 UI 구성요소 살펴보기: WPF와 Silverlight는 자체적으로 확장하거나 타사를 사용해야 합니다. Flex, AIR 및 Laszlo는 모두 풍부한 UI 구성요소 세트를 제공하며 기본적으로 충분한 UI 구성요소 세트가 있습니다. , JavaFX는 JRE와 함께 제공되는 UI 도구 상자에 의존합니다.
또한 크로스 플랫폼 기능 및 호환성에 대한 순위를 얻을 수 있습니다.
Flex/Laszlo > Ajax> 기술은 모든 측면에서 평가되어야 합니다. 현재 상황을 명확하게 파악하고 미래의 요구 사항을 고려해야 할 뿐만 아니라 올바른 기술을 찾을 수 있도록 각 기술의 차이점, 장단점도 잘 알고 있어야 합니다.
위 내용은 여러 RIA 기술 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!