최근 홀로렌즈 안에 있는 브라우저에서 WebRTC가 가능하냐고 물어보는 분이 있었고, 이때문에 홀로렌즈를 경험해 볼 기회가 있었습니다. 결론적으로는, 홀로렌즈에 탑재된 브라우저에서는 webrtc가 현재 불가능하며 홀로렌즈에서 webrtc를 구현하기 위해서는 MixedReality-WebRTC라는 라이브러리를 이용해야 합니다.
최근 홀로렌즈 안에 있는 브라우저에서 WebRTC가 가능하냐고 물어보는 분이 있었고, 이때문에 홀로렌즈를 경험해 볼 기회가 있었습니다. 결론적으로는, 홀로렌즈에 탑재된 브라우저에서는 webrtc가 현재 불가능하며 홀로렌즈에서 webrtc를 구현하기 위해서는 MixedReality-WebRTC라는 라이브러리를 이용해야 합니다.
싱글톤
싱글톤이란 소프트웨어 전체에서 인스턴스를 하나만 생성해서 유지하는 디자인 패턴입니다. 인스턴스를 하나만 생성한다는 것에 주목 하면 됩니다. OOP언어에서는 특정 클래스에서 인스턴스를 생성할 때 처음 호출시에는 객체를 생성하지만 두번째 부터는 생성한 객체를 반환합니다. 다음과 같습니다.
다시 ES5
최근의 자바스크립트는 ECMAScript 6버전 이후로 언어 차원에서의 발전이 급속도로 진행되고 있습니다. 기존 OOP언어에서 제공하던 class, import등등의 키워들이 사용 가능해졌고 interface, abstract과 같은 키워드들도 등록 될 것으로 보여집니다.
또한, 웹개발에 있어 자바스크립트만을 사용하던 시대와 다르게 coffeescript, typescript, kotlinjs등 타언어로 개발하고 이를 자바스크립트로 변환할 수 있게 되었습니다. 이러한 시점에서 ES5를 다시 한번 들여다 보는게 무의미할 수도 있지만, 현재 왜 웹 어플리케이션의 개발방법론이 자바스크립트 일변도에서 다양화 되고 있는지 집어보는 차원에서 다시 한번 ES5를 들여다 보겠습니다.
주로, ES5의 객체 지향 프로그래밍과 디자인 패턴에 대해 다루려고 합니다. 첫번째 시간으로 자바스크립트의 OOP에 대해 간략히 설명하겠습니다.
ES5는 class키워드로 클래스를 생성할 수 없습니다. 대신 함수를 이용하여 클래스를 생성할 수 있습니다.
자바스크립트에서 함수는 1급 객체입니다. 1급 객체라는 말은 함수형 프로그래밍에서도 중요하게 다뤄집니다. 객체는 자신만의 속성과 메소드를 가지고 있습니다. 또한 객체이기 때문에 함수의 인자로 전달 될 수도 있으며, 함수의 반환값으로 함수를 가질 수도 있습니다.
자바스크립트의 함수도 객체이므로 자신만의 속성과 메소드를 가지고 있습니다. 바로 porototype과 apply, call입니다. porototype은 클래스를 만드는데 핵심 키워드입니다. apply, call은 함수 안에서 사용된 컨텍스트(this)를 유지, 강제할 수 있는 기능을 가지고 있다.
개요
AWS EC2의 복잡한 서비스가 아닌, 단순한 가상 머신을 제공해주는 서비스입니다. 라이트 세일은 다음과 같은 기능을 제공하고 있습니다.
고정 IP 주소
DNS 관리
원클릭 SSH 터미널 액세스(Linux/Unix)
원클릭 RDP 액세스(Windows)
강력한 API
고가용성 SSD 스토리지
서버 모니터링
개요
Framework7는 모바일 하이브리드 앱을 위한 UI 프레임웍이다. 공식 홈페이지에서는 데스크탑 앱도 만들 수 있다고 쓰여있지만, 모바일 앱에 더 적합한 UI를 생성한다. 또한 Framework7는 모바일 네이티브 수준의 사용자 경험을 제공한다. 화면 전환 효과 및 제공되는 UI 컨트롤들이 안드로이드/IOS 네이티브 컨트롤들의 UX와 동일하거나 매우 흡사하다.
Framework7는 바닐라 자바스크립트 외에 vue.js, react, svelte와 같은 SPA 프레임웍들을 지원한다. 기존 보편화된 react, vue.js를 제공하기 때문에 좀더 쉽게 접근할 수 있을 것으로 사료된다. 필자는 vue.js를 선호하여 이를 주로 사용한다. 이 문서에서도 vue를 위주로 설명할 것이다.
필자가 느끼는 Framework7의 가장 큰 장점은 기존 html에 대한 높은 수용도이다. 이는 퍼블리셔와의 협업에 있어 중요한 요소이다. 어떤 프로젝트에 있어, 퍼블리셔가 Framework7에 대한 지식이 없더라도 퍼블리셔의 결과물을 Framework7의 틀로 감싸 앱처럼 동작하게 할 수 있는 것이다.
보다 자세한 사항은 홈페이지 (https://framework7.io/)에서 확인할 수 있다.