AppML 기록


1999년 Refsnes Data는 AppML의 첫 번째 버전을 개발했습니다.

그 당시 AppML은 웹 클라이언트와 웹 서버 간의 HTTP 요청 통신을 기반으로 했습니다. 나중에 이 방법은 AJAX로 잘 알려졌습니다.

2000년 9월, 노르웨이의 대규모 고객을 위한 개발 프로젝트가 시작되었습니다. 이 프로젝트의 목표는 AppML만 사용하여 Windows 데스크톱 응용 프로그램에서 최신 인터넷 응용 프로그램으로 거대한 정보 시스템(약 300개 응용 프로그램)을 변환하는 것이었습니다.

AppML 기반 시스템은 예정보다 몇 달 앞서 2001년 세계 최초의 상용 AJAX 애플리케이션으로 출시되었습니다. 이 프로젝트는 일반 웹 개발에 비해 개발 시간이 75% 단축되어 큰 성공을 거두었습니다. 그 이후로 새로운 응용 프로그램이 추가되었으며 시스템은 현재 1000개 이상의 실행 중인 응용 프로그램을 처리합니다.

2015년 2월 W3Schools는 대중에게 공개되는 새로운 제품으로 AppML을 다시 출시했습니다.

AppML 디자인 목표:

  • AppML 애플리케이션은 인터넷을 통해 실행되어야 합니다.
  • AppML 애플리케이션은 플랫폼에 독립적이어야 합니다.
  • AppML 애플리케이션은 인터넷 표준(HTML, CSS, JavaScript)만 사용해야 합니다.
  • AppML 애플리케이션은 다양한 애플리케이션 요구 사항을 지원해야 합니다.
  • AppML 애플리케이션은 자체 설명적이어야 합니다.
  • AppML 애플리케이션은 개발, 유지 관리 및 변경이 쉬워야 합니다.
  • AppML 애플리케이션은 미래에 대비해야 합니다.

아래 단락은 미래의 웹 애플리케이션에 대한 Refsnes Data의 원래 비전(1999)을 설명합니다.


실행 파일은 죽고 JavaScript는 살아날 것입니다

컴파일된 실행 파일(C 또는 Java와 같은 언어에서 컴파일됨)은 다른 하드웨어에서 실행할 수 없습니다.

실행 파일(EXE 파일, ActiveX 및 COM 개체, DLL 파일)은 인터넷을 통해 실행할 수 있는 응용 프로그램의 개발을 방해하는 구성 요소입니다.

향후 응용 프로그램은 클라이언트 컴퓨터에 설치된 실행 파일 또는 기타 구성 요소를 사용하거나 의존하지 않습니다.

우리의 제안:

HTML, CSS 및 JavaScript만 사용하여 미래의 애플리케이션을 작성하십시오.

향후 애플리케이션이 모든 웹 브라우저에서 실행되는지 확인하십시오.


웹 애플리케이션은 인터넷 서비스가 될 것입니다

역사는 목적에 맞게 제작된 대규모 애플리케이션으로 가득 차 있습니다. 이들 중 다수는 요구 사항 변경에서 살아남을 수 없었기 때문에 매우 빠르게 사망했습니다.

응용 프로그램은 무너지거나 파괴되지 않고 유연하고 일반화되어야 하며 변경 사항에 적절하게 조정되어야 합니다.

애플리케이션은 하루에 수백만 건의 요청을 지원하도록 확장할 수 있어야 합니다.

응용 프로그램은 응용 프로그램을 중단하지 않고 한 서버에서 여러 서버로 확산되거나 서버 간에 이동할 수 있어야 합니다.

응용 프로그램은 다른 응용 프로그램과 협력할 수 있어야 합니다.

응용 프로그램에는 많은 양의 코드가 포함되어서는 안 됩니다.

응용 프로그램은 만들기 쉽고 유지 관리하기 쉬운 더 작은 서비스로 분할되어야 합니다.

응용 프로그램은 제출된 인터넷 요청에 데이터를 반환할 수 있는 인터넷 서비스 집합이어야 합니다.

응용 프로그램은 서버에 대한 영구적인 연결을 유지하지 않고 표준 인터넷 프로토콜을 통해 서비스를 요청해야 합니다. 

우리의 제안:

인터넷 기반 SOA(서비스 지향 아키텍처)를 사용하여 미래의 애플리케이션을 작성하십시오.

애플리케이션 서비스를 일반적이고 유연하게 만들고 다양한 유형의 요청을 처리할 수 있도록 준비하십시오.


미래의 응용 프로그램은 쉽게 만들고 편집할 수 있습니다.

클라이언트와 서버는 이해하기 쉬운 방식으로 데이터를 교환합니다.

피할 수 있는 경우 애플리케이션은 코딩되지 않습니다.

애플리케이션은 코드 편집이 아닌 모델 편집을 통해 생성 및 수정됩니다.

응용 프로그램 설명은 사람이 읽을 수 있습니다.

응용 프로그램 설명은 자체 설명입니다.

응용 프로그램은 프로그래머가 아닌 사용자가 작성합니다.

우리의 제안:

사람이 읽을 수 있는 텍스트 파일을 사용하여 서비스를 설명하고 이러한 설명을 실행하여 서비스를 제공합니다.

JSON 파일과 같은 텍스트 파일을 사용하여 애플리케이션을 설명합니다.

JSON 파일과 같은 텍스트 파일을 사용하여 데이터를 교환합니다.

HTML, CSS 및 JavaScript를 사용하여 응용 프로그램을 실행합니다.


쓰리 리틀 웹 개발자...

옛날 옛적에 세 명의 작은 웹 개발자가 새로운 웹 사이트를 개발하고 있었습니다.

1. 최초의 웹 개발자는 AppML을 사용했습니다.

2. 두 번째 웹 개발자는 자신이 가장 좋아하는 서버 프로그래밍 언어를 사용하고 있었습니다.

3. 세 번째는 전문 기업 웹 개발 프레임워크를 사용하는 것이었습니다.

첫 번째 웹 개발자는 이틀 만에 데모를 시작하고 실행했습니다. 사용자들과의 협업 끝에 일주일 만에 기존 프로토타입이 완성되었습니다. 그리고 2주간의 테스트 끝에 지능적이고 빠르고 사용하기 쉬운 웹 사이트를 게시할 준비가 되었습니다.

두 번째 웹 개발자는 6개월 만에 웹사이트를 준비했습니다. 그러나 WWW는 요구 사항을 변경했으며 만족하지 않았습니다. 웹 개발자는 너무 많은 코드를 포함하고 있기 때문에 그의 프로젝트를 크게 변경할 수 없었습니다. 그래서 그는 버전 2의 개발을 시작했습니다.

세 번째 웹 개발자는 자신의 작업을 완료하지 못했습니다. 전문 웹 개발 프레임워크는 사용하기가 매우 어렵고 이해하기가 매우 어려우며 테스트가 거의 불가능했습니다.

최초의 개발자가 어떻게 했는지 살펴보십시오 .