Logo ko.androidermagazine.com
Logo ko.androidermagazine.com

Html5 앱이란 무엇이며 원하는가요?

차례:

Anonim

당신은 들었습니다? HTML5 앱은 아마도 내년에 모든 것을 바꿀 것입니다. 적어도 그것이 HTML5와 네이티브 앱에 대한 토론의 한 측면이 한동안 말한 것입니다. 그것은 때때로 각광을 받고있는 메시지이며, 영원히 그렇게 될 것입니다. 또는 적어도 실제로 일어날 때까지 모든 최고의 앱은 HTML5 앱입니다. 개발자가 각 버전에 대해 이러한 종류의 토론과 지지자가 자신의 버전이 더 나은 버전을 설명하는 것을 보는 것은 드문 일이 아니지만 개발자 토론을 넘어 당신과 내가 듣는 주류로 들어간 경우 우리를 마비시킬 수 있습니다. 우리가 듣고있는 것에 정말로 관심을 가져야합니까?

이 경우에 그렇습니다. 모든 앱이 HTML5로 작성되고 모든 사용자가 동일한 경험을 갖는 유토피아는 여전히 발생하는 경우 여전히 좋은 방법이지만, 하이브리드 형식의 HTML5는 이미 상당히 중요합니다. 우리는 꽤 큰 일을 알고 이해해야합니다.

HTML5 앱이란 무엇입니까?

대부분의 사람들이 HTML5에 대해 처음 언급 한 것은 Steve Jobs가 우리에게 웹의 미래가 될 것이라고 말했을 때였으며 Flash는 그렇지 않을 것이라고 말했습니다. 그의 말은 Apple이 iOS에서 모든 종류의 Flash 플레이어에 대한 액세스를 차단했기 때문에 부분적으로 사실 이었지만 HTML5가 Flash보다 훨씬 더 많은 일이 있기 때문에 이것이 오는 것을 알기 위해 어떤 비전을 가진 사람도 아닙니다. 그리고 웹의 미래가 애플리케이션을 코딩하는 아주 좋은 방법이기도합니다.

HTML은 HyperText Markup Language의 약자이며 표준의 5 번째 개정판입니다. 그러나 웹앱이든 휴대 전화에 설치할 수있는 앱이든 HTML5 앱이라는 용어를 들으면 실제로 세 가지 유형의 코드를 처리하게됩니다.

  • HTML은 개발자가 코드를 넣을 수있는 프레임 워크를 제공하며 응용 프로그램은 코드를보고 상호 작용할 수있는 것으로 바꿀 수 있습니다.
  • CSS는 코드가 렌더링되고 화면에 표시되면 개별 코드의 모양을 레이아웃하는 방법을 제공합니다.
  • JavaScript는 모든 것을 대화식으로 만들고 무엇이든 "할 수"있게합니다.

HTML5를 훌륭하게 만드는 것은 앱 개발자가 유지 관리 할 필요가없는 하나의 응용 프로그램으로 모든 것을 이해하고 해당 앱의 자체 버전이있는 화면이있는 모든 장치에서 작동한다는 것입니다. 우리는 웹 브라우저에 대해 이야기하고 있지만 웹 브라우저 앱 자체는 아닙니다. 이 코드를 모두 가져 와서 즉시 사용할 수있는 것으로 렌더링 할 수있는 웹 브라우저의 구성 요소는 이식성이 뛰어나며 이미 웹보기로 사용하는 많은 앱의 일부입니다.

한 모질라 엔지니어는 "어디서나 한 번만 코드를 실행한다고해서 도망 가지 않는다는 의미는 아닙니다. 최적화가 핵심입니다." 똑똑한 사람들, 모질라 엔지니어들.

이것이 의미하는 바는 개발자가 자신의 코드를 작성하고 미세 조정 한 다음 어디에나 배포 할 수 있다는 것 입니다. 이는 Android, iOS, macOS, Windows 및 webOS 및 BlackBerry 10 용 HTML에 대해 별도의 코드를 작성하는 것과는 매우 다릅니다. 개발자는 메모장이든 Visual Studio 또는 Adobe Dreamweaver와 같은 복잡한 환경이든 원하는 개발 환경을 사용하여 코드를 작성할 수 있습니다., 원하는 브라우저에서 디버그 및 미세 조정하면 어디서나 작동합니다.

그것은 당신의 전화도 포함합니다. 우리는 모두 HTML5 앱이 웹 페이지로 사용되는 것을 보았습니다. Twitter 또는 모바일 버전의 Gmail과 같은 장소는 직장에서 사용되는 HTML5의 훌륭한 예입니다. 그러나 HTML5는 웹보기 구성 요소로 렌더링 할 수 있으므로 기본 앱 프레임 안에 창을 놓아 휴대 전화에 실제로 설치하는 앱을 만드는 것은 간단하고 빠릅니다. Apache Cordova와 같이 모든 작업을 수행하는 타사 도구도 있습니다. 이를 통해 새로운 개발자는 자신의 아이디어를 모든 사람과 이전에 보지 못했던 꿈을 꾸는 시간이있는 노련한 개발자에게 제공 할 수 있습니다. 기본 앱에 포함 된 HTML5는 코드를 실행하고 인터넷에서 가져온 에셋을 사용할 수 있지만 개발자는 로컬로이를 설치하고 정직한 오프라인 오프라인 앱을 위해 코드를 지정할 수도 있습니다.

그러나 HTML5에 관한 모든 것이 좋은 것은 아닙니다.

HTML5 앱의 현실

혼란 스러울 수있는 곳이 여기 있습니다. 우리는 웹 페이지를 생각할 때 종종 웹 페이지가 브라우저 엔진에만 코드를 전송하고 그것이 작업을 수행하는 장치라는 것을 잊어 버립니다. 즉, 지리적 위치, 실시간 오디오 및 비디오 채팅, 3D 가속 그래픽 등과 같은 것들이 가능할뿐만 아니라 개발자가 HTML5를 사용하여 구현할 수있을뿐만 아니라 훨씬 더 간단합니다. 그것은 표준기구가 말한 것이기 때문입니다. "이봐 요, 우리 모두는 이런 특정한 방식으로 이런 일을해야하고, 개발자는 우리에게 이렇게하도록 요청할 수 있습니다."

어쨌든 목표입니다. 현실은 약간 다를 수 있으며, 우리는 그 이유에 대한 훌륭한 예를 위해 비디오 재생 만 살펴볼 필요가 있습니다. 사용하려는 모든 브라우저는 HTML5를 지원합니다. Chrome, Opera, Internet Explorer, Edge, Firefox 및 Safari는 HTML5 브라우저이며 개발자가 비디오를 가리키는 몇 단어 만 입력하면 비디오 재생을 지원합니다. 이러한 앱이 보유한 모든 유형의 휴대용 웹보기 구성 요소는 동일한 렌더링 엔진을 사용하기 때문에 동일한 작업을 수행합니다.

규칙을 시행하지 않으면 규칙이 제안이됩니다. 아무도 따르고 싶지 않은 것들.

그러나 HTML5는 플랫폼 간, 공개적이며 독점적이지 않기 때문에 동일한 유형의 비디오를 모두 지원하지 않으므로 모든 형식을 지원하도록 강요하지 않습니다. Ogg Theora는 많은 컴퓨터에서 기본 브라우저로 사용되는 Internet Explorer를 제외한 모든 브라우저가 지원하는 인기있는 비디오 형식입니다. H.264는 훨씬 더 인기가 있지만 사용이 자유롭거나 무료가 아니므로 Firefox는이를 지원하지 않습니다. VP8과 WebM은 자유롭게 사용하고 열 수 있으며 모든 브라우저 엔진이이를 지원하지만 Internet Explorer와 Safari에서는 사용자가 지원을 가져와 설치해야합니다. 기술적으로 HTML5는 HD 비디오 재생을 지원하며 개발자가 구현하기가 매우 쉽습니다. 실제로는 올바른 유형의 비디오 만 지원됩니다.

Google은 업로드 한 비디오를 변환 할 돈이 있기 때문에 HTML5로 모든 비디오를 재생합니다.

HTML5는 또한 사용중인 하드웨어와 코드 작성에있어 개발자의 숙련도에 달려 있습니다. 잘못된 JavaScript 라이브러리를 선택하면 여전히 동일한 결과가 생성 될 수 있지만 메모리 누수가 발생할 수 있으며 DOM 조작 (문서 객체 모델 - 페이지 또는 앱이로드 될 때 생성되며 페이지 또는 앱의 모든 요소가 별도의 "문서")를 사용하면 최상의 하드웨어에서도 HTML5 앱의 속도가 느려질 수 있습니다. 지원되지 않는 휴대폰에서는 사용자가 앱을 제거 할 수 있습니다.

그게 유일한 문제는 아닙니다. 인터넷에서 모든 것을 가져 오는 HTML5 앱을 만들 때 로딩 시간을 처리해야합니다. 따라서 하드웨어의 물리적 기능 (정확히 속도가 좋지 않은 프로세서를 사용하는 전화) 및 코드 최적화와 함께 앱을 느리게 실행할 수있는 항목 목록에 사용자의 연결 속도가 추가됩니다. 사용자 장치에 코드를 표시하는 데 1 초가 걸리고 인터넷에서 코드를 가져 오는 데 10 초가 걸리면 불행한 사용자가 많이있을 것입니다.

인스 타 그램이 옳은 것의 예인 것처럼 페이스 북 앱은 HTML5의 문제점을 보여주는 예입니다.

이에 대한 훌륭한 예가 있으며, 우리가 사용하는 휴대 전화 유형 (페이스 북 앱)에 관계없이 거의 모든 사람들이 불만족했습니다. Facebook 앱은 기본적으로 버튼이있는 프레임에 내장 된 웹보기로, 운영 체제가 승인하는 방식으로 계정 자격 증명을 관리하거나 메시지를 푸시하는 데 도움이됩니다. 앱 내부에서 발생하는 모든 일은 HTML5로 수행되며 인터넷에서 모든 데이터를 가져 오는 데 고려하면 처리하기에는 너무 많은 비용이 발생합니다. 개발자가 Facebook에 계속 더 많은 데이터를 추가하면 사용자는 페이스 북 이외의 장소에 있으며, 수백, 수백만의 사람들이 페이스 북 서버를 한번에 연중 무휴로 공격합니다. 이로 인해 앱의 새로 고침이 느려지고 전력이 많이 부족하며 불만이 많습니다.

Facebook의 모바일 웹 사이트는 HTML5로 작성되었지만 모바일 용이기 때문에 리소스에 맞게 설계되었습니다. 따라서 모든 컨텐츠가 전체보기에 표시되는 것만 큼 멋지게 표시되지 않더라도보고자하는 컨텐츠를 더 빨리로드 할 수 있습니다. 또한 모바일 사이트 및이를 참조하는 Facebook "lite"앱이 Facebook의 공식 앱보다 훨씬 잘 작동하는 이유이기도합니다. 그리고 이것은 단지 Facebook 문제가 아닙니다. HTML5를 사용하여 모든 기능을 지원하지만 Facebook과 마찬가지로 복잡하고 (시간이 지남에 따라 끊임없이 변화하는 좋은 단어입니다) 많은 앱이 있습니다. 같은 방식으로 행동합니다.

더 많은 HTML5 앱을보고 싶습니까?

예! 그러나 모든 앱이 아닙니다.

HTML5는 정말 많은 것들에 능숙하며 개발자가 Objective-C 또는 C ++ 참조 매뉴얼을 근절하는 대신 창의적인 아이디어를 생각하기 위해 자신의 시간을 사용하는 좋은 방법입니다. 그러나 때로는 개발자가 특정 방식으로 작업을 수행하도록 강요하는 개발 언어의 엄격한 구조가 최종 결과가 우리의 휴대 전화에서 더 잘 작동하게 만드는 것입니다.

HTML5 앱은 Facebook 앱에서 볼 수있는 것처럼 악몽 일 수도 있고 모바일 Gmail 사이트에서 볼 수있는 것처럼 매우 멋질 수도 있습니다. 아니면 동네 짱. 또는 인스 타 그램. 또는 매일 사용하는 수백 가지 HTML5 앱 중 하나입니다. 우리 가 걱정해야 할 것은 아니지만 개발자가 끊임없이 토론하는 것은 전적으로 문제입니다. 그리고 지금 그들이 토론하고 더 나은 쪽을 설득하려고 노력하는 동안, 당신은 그들이 말하는 것을 왜 말하는지에 대해 조금 알고 있습니다.

링크를 사용하여 구매 수수료를받을 수 있습니다. 자세히 알아보십시오.