uppercase.io

Easy, Clear, and Powerful Full-stack (server-to-client) MVC Middleware for Dynamic Web Site or Mobile Application Development


Keywords
UPPERCASE.IO, JavaScript, MVC, middleware, framework, library, Hanul, full-stack, nodejs, realtime, uppercase
License
MIT-feh
Install
npm install uppercase.io@1.4.1

Documentation

UPPERCASE

UPPERCASE는 웹 어플리케이션 개발을 도와주는 JavaScript 기반 프레임워크입니다. 서버와 클라이언트를 부드럽게 연결는데 특화되어, 예를 들면 메신저나 SNS 같이 실시간 통신이 중요한 애플리케이션 개발에 유용합니다. 또한 서버 프레임워크로만으로 사용할 수 있으며, 반대로 서버가 불필요한 웹 애플리케이션 개발을 할 때도 유용하게 사용할 수 있습니다.

특징

왜 이름이 UPPERCASE인가요?

UPPERCASE의 모든 기능들의 이름은 JavaScript의 키워드나 변수 이름, 다른 라이브러리들에서 사용하는 이름을 피하기 위해 대문자로 이루어져 있습니다. 비슷하게, jQuery$를, Underscore_를 접두사로 사용하고 있습니다.

// UPPERCASE
EACH([52, 97], (value, index) => {
    alert(index + ': ' + value);
});

// jQuery
$.each([52, 97], (index, value) => {
    alert(index + ': ' + value);
});

// Underscore
_.each([52, 97], (value, index) => {
    alert(index + ': ' + value);
});

UPPERCASE는 웹 개발의 모든 영역을 지원합니다.

웹 사이트, 웹 애플리케이션, 웹 게임 등 웹 개발의 모든 영역을 지원합니다.

UPPERCASE는 서버가 필요한 모든 부분을 지원합니다.

꼭 웹 개발이 아니더라도, UPPERCASE는 서버가 필요한 모든 프로젝트에서 사용할 수 있습니다.

UPPERCASE는 웹 표준을 지원합니다.

따라서 웹 표준을 지원하는 모든 브라우저에서 구동됩니다.

UPPERCASE는 Node.js를 제외한 다른 네이티브 모듈의 의존성이 없습니다.

따라서 Node.js가 구동되는 모든 운영체제와 시스템에서 구동됩니다.

UPPERCASE는 멀티코어 CPU 및 분산 서버 시스템을 지원합니다.

UPPERCASE가 제공하는 기능들

UPPERCASE는 동적인 웹 애플리케이션을 개발하기 위해 필요한 다양한 기능들을 제공합니다.

여러가지 통신 프로토콜 서버

TCP/UDP 소켓 서버 및 웹 서버(HTTP/HTTPS), 웹 소켓 서버가 구현되어 있으며, TCP 소켓과 웹 소켓 프로토콜이 통합된 멀티 프로토콜 소켓 서버를 제공하고 있습니다.

실시간 통신을 좀 더 쉽게 도와주는 룸 기능

룸이라는 개념을 도입하여 상황에 맞는 여러 룸들을 만들면, 룸에 접속한 유저들에게만 필요한 메시지를 전달하는 구조를 쉽게 구현할 수 있습니다.

데이터베이스 관련 기능

Node.js 환경에서 MongoDB 기반 데이터베이스를 쉽게 다룰 수 있습니다.

MVC 패턴에서의 Model 관련 기능

UPPERCASE 기반 프로젝트는 자연스럽게 MVC 패턴을 따르게 됩니다. UPPERCASE는 자체적으로 MVC 패턴에서의 Model에 대한 여러가지 기능들을 제공하고, Model에 복잡한 Business Logic을 추가하여 확장시킬 수 있습니다.

UPPERCASE는 이 외에도 업로드 기능, 각종 유틸리티 기능, 모든 브라우저 통합 기본 스타일 등을 제공하고 있습니다. 자세한 내용은 아래 문서들을 참고하시기 바랍니다.

문서

클라이언트

UPPERCASE가 공식 지원하는 클라이언트 목록은 다음과 같습니다.

곧 지원 예정인 클라이언트 목록은 다음과 같습니다.

  • Unity 클라이언트
  • Unreal 클라이언트
  • Xamarin 클라이언트

비공식 클라이언트 목록은 다음과 같습니다.

기타 클라이언트 라이브러리를 지원받고 싶은 플랫폼이 있으면, GitHub Issues에 글을 남겨주시기 바랍니다.

링크

라이센스

MIT

작성자

Young Jae Sim