최근 HTML5에 대한 많은 논쟁이 있었습니다. HTML5의 등장으로 인해 Flash가 즉시 사라질 것이라고 생각하는 사람들이 많아 주요 웹 프론트엔드 개발 포럼에서 큰 논쟁이 벌어지고 있습니다. 포럼에서 몇 마디 말로도 만족할 수 없었기 때문에 저는 3분의 1에이커의 땅에서 공개적으로 이야기를 나눠야 했습니다. 또한 마술 지팡이가 되어 웹 프런트엔드 개발의 미래를 기대해 보세요. 우선, 여기서 언급하는 HTML5는 HTML5 자체를 지칭할 뿐만 아니라, 일반적으로 HTML5, CSS3, JavaScript 및 새로운 브라우저 API에 포함된 웹 프론트엔드 기술 전체를 지칭합니다.
HTML5가 필요한 사람은 누구입니까?
구글이 가장 필요해요! Apple Jobs에서도 이를 요구합니다. 하지만 이 두 사람에게는 확실히 자신만의 의제가 있습니다. Microsoft에게는 중요하지 않습니다. 어쨌든 여전히 Silverlight가 있습니다.
비영리 단체인 Mozilla/Firefox는 좀 더 고귀한 목표를 갖고 w3c 표준을 지원할 수도 있습니다. 오페라의 브라우저 시장점유율은 너무 작아서 아직은 별 생각이 없을 것 같습니다.
Google의 클라우드 컴퓨팅 제국에는 RIA(Rich Internet Application) 리치 인터넷 애플리케이션을 지원하는 클라이언트가 부족합니다. HTML5가 대중화되고 더 많은 애플리케이션이 BS 모드로 전환되면 Microsoft 제국의 데스크톱 소프트웨어 생태 환경이 크게 위협받을 것이라고 상상해 보십시오. 수년간 선망의 대상이었던 구글이 가장 큰 수혜자가 될 것이다. 무료 운영 체제가 설치된 컴퓨터에서 MS Word와 유사한 기능을 갖춘 무료 Google 문서를 사용할 수 있는 경우에도 Microsoft Word 비용을 지불하시겠습니까? 브라우저 창을 여는 것만으로도 사무실 응용 프로그램을 수행할 수 있는데도 여전히 운영 체제에 돈을 쓰시겠습니까? Google의 Chrome OS 운영 체제 인터페이스는 이미 이러한 의도를 보여줍니다.
잡스는 HTML5도 필요합니다. 그는 브라우저가 기본적으로 비디오와 오디오를 지원하여 iPhone과 iPad에 Flash를 내장할 필요가 없기를 원합니다. 물론 Jobs는 Flash가 iPhone OS에 포함되는 것을 허용할 수 없습니다. 그렇지 않으면 누가 App Store에서 게임을 구매하게 될까요? 동시에, 브라우저를 기반으로 많은 수의 애플리케이션을 구현할 수 있다면 사용자는 Windows 데스크톱 애플리케이션에 얽매이지 않을 것입니다. 아름다운 Mac 컴퓨터를 좋아하지 않는 사람이 있을까요?
그들은 HTML5가 자신들이 통제할 수 없는 플래시를 피하면서 전체 소프트웨어 생태계에 변화를 가져오길 바라는 더 큰 야망을 위해 HTML5를 선택했습니다.
Macromedia와 이후 선두주자인 Adobe는 인터넷 애플리케이션의 개발 요구 사항을 파악하고 지속적으로 Flash를 개선하여 브라우저 자체의 기능을 뛰어 넘도록 만들었습니다. 주요 브라우저 제조업체도 이러한 종류의 애플리케이션에 대한 수요를 보고 브라우저에서 구현해야 하는 기능에 만족하지 않고 이를 수 메가바이트 크기의 플러그인으로 구현하여 인기를 얻었습니다. 그래서 우리는 HTML5를 홍보하고 Flash를 타겟으로 하는 노력을 아끼지 않았습니다.
사용자는 HTML5를 원합니까? 사용자가 원하는 것은 기술이 아니라 애플리케이션, 경험입니다. Ajax를 사용하여 행복한 농장을 구현할 수 있다면, 그것이 Flash로 만들어졌는지 누가 신경쓰지 않을 것이라고 생각합니다.
개발자는 HTML5를 원합니까? 이를 위해서는 성숙한 HTML5+CSS3+JS 개발 환경이 필요하며, 각 브라우저는 통합된 사용자 경험, 즉 표준과의 완전한 호환성을 제공해야 합니다. 새로운 학습 비용도 추가되어야 합니다.
플래시의 장점?
플래시가 HTML5보다 나은 점은 무엇입니까? 성능, 기능성? HTML5가 GPU 2D 및 3D 가속뿐만 아니라 Flash의 모든 내장 객체와 유사한 DOM을 갖게 된다면 이는 불가능하지 않습니다. 결국 HTML5는 아직 초안일 뿐입니다. 물론, Flash도 지속적으로 업데이트될 수 있습니다.
개발 그룹
플래시의 장점은 개발자에게 있다고 생각합니다. 10년 이상의 축적 끝에 많은 우수한 아티스트, 프로그래머, 인터랙티브 디자이너들이 플래시 플랫폼에서 인터랙티브 미디어를 개발하는 데 집중해 왔습니다. 또한 FLARToolKit, Touchlib, OpenCV 및 상호 작용 및 이미지 분석을 위한 기타 C++ 라이브러리와 같은 AS 버전을 가질 수 있는 수많은 클래스 라이브러리가 Flash 플랫폼에 이식되었습니다. RIA 애플리케이션을 위한 비교적 성숙한 오픈 소스 Flex 프레임워크가 있습니다. 고객에게 더 나은 RIA 애플리케이션 경험을 제공하기 위해 Flex를 사용하여 Ext와 같은 Ajax 프레임워크를 대체하려는 기업이 점점 늘어나고 있습니다.
지속 가능한 발전
FlashPlayer는 Adoeb에 의해 독점적으로 제어되는 폐쇄형 시스템입니다. 이는 개방형 HTML5 표준과 비교할 때 매우 유연할 수 있으며 언제든지 새로운 기술과 기능을 추가할 수 있다는 장점도 있습니다. HTML5는 개방형 표준이므로 자주 변경되지 않습니다. Flash 개선 및 업그레이드를 위해서는 사용자가 상대적으로 가벼운 FlashPlayer 플러그인만 업그레이드하면 됩니다. HTML 표준의 개선은 브라우저 업그레이드를 의미합니다. 이는 특히 많은 사람들이 여전히 브라우저가 무엇인지 이해하지 못하기 때문에 상대적으로 무거운 사용자 작업입니다.
HTML5 개방형 표준이 완성되면 긴 수명 주기를 갖게 될 것입니다. 현재로서는 충분히 발전된 기능이지만 앞으로는 10년이 걸릴 것입니다. HTML4+CSS2+JS를 사용하면서 웹 애플리케이션을 표현하는 데 안주하고 충분하다고 생각했던 것처럼, 오늘날 Flash의 지속적인 개선으로 열린 세상을 상상할 수 있었을 것입니다. 아마도 10년 후에 우리는 HTML6이 Flash를 죽이는 주제에 대해 다시 논의해야 할 것입니다.
웹 애플리케이션을 넘어서
당시 SUN이 Java 애플릿에 주목했다면 아마도 오늘날의 Flash도 없었을 것이고 SUN이 인수될 수 있는 위치에 있지도 않았을 것입니다. 그리고 이제 Adobe AIR는 Flash가 Java 애플릿을 능가하게 함으로써 Flash가 웹을 능가하고 브라우저에서 벗어날 수 있게 되었습니다. 플래시의 기능은 현재에 이르기까지 지속적으로 향상되어 왔으며, 멀티미디어 분야에서도 플래시의 형님인 디렉터의 응용 영역을 지속적으로 압축하고 있습니다. Flash 플랫폼에서 멀티 터치, 얼굴 인식, 소켓 통신 동기화, AR 증강 현실, 실시간 비디오 및 기타 기능이 구현되면서 Flash 솔루션을 사용하는 인터랙티브 멀티미디어 프로젝트가 점점 더 많아지고 있습니다.
Adobe가 계속해서 Adobe AIR 플랫폼의 기능을 확장하고 성능을 향상시키기를 바랍니다. AIR에서는 점점 더 많은 크로스 플랫폼 데스크톱 애플리케이션을 구현할 수 있습니다.
플래시의 단점?
FlashPlayer 저작권은 비공개입니다.
SWF 파일의 내용은 상대적으로 폐쇄적이며 검색 엔진 친화적이지 않습니다.
플러그인의 보안 위험.
Ajax 기술의 학습 곡선 및 학습 비용과 비교합니다.
FlashPlayer 설치율 94%!=100%.
iPhoneOS는 분명히 Flash를 지원하지 않으며, iPad의 첫날 12만 대 주문으로 큰 시장이 열릴 것으로 예상됩니다.
3D 하드웨어 가속은 지원되지 않습니다. FlashPlayer가 3D 하드웨어 가속을 지원한다면 기존 2D 벡터 엔진을 확실히 다시 작성하게 될 것입니다. ShockWave 3D의 성능을 고려하면 FlashPlayer 하드웨어 3D가 좋은 사용자 경험을 제공하기는 어렵습니다.
HTML5는 Flash를 무엇으로 대체합니까?
기능: HTML5는 아직 초안일 뿐입니다. 제출된 콘텐츠로 판단하면 더 많은 의미 태그가 추가되었습니다. 새 태그는 DOM에 새 클래스를 추가하는 것을 의미합니다. 브라우저를 대형 Flash 플레이어에 비유하면 HTML5를 추가하는 것에 지나지 않습니다. 새로운 클래스와 새로운 API. 그런 다음 이러한 API는 JavaScript에 의해 호출됩니다. HTML5가 플래시를 완전히 대체하려면 최소한 Flashplayer10과 유사한 기능을 제공해야 합니다. WebSocket, WebSQL, WebGL... 또는 심지어 WebQt를 추가하면 WebMFC는 무한한 상상력을 발휘할 수 있습니다. 또는 단순히 브라우저를 대규모 가상 머신으로 전환하여 Java의 데스크탑 요구 사항을 충족할 수도 있습니다. 충분한 수요 모멘텀이 있다면 이 중 어느 것도 문제가 되지 않습니다.
성능: HTML5 급진주의자들이 작성한 많은 기사에서는 모두 현재 Flash의 비효율성으로 인해 브라우징 충돌이 발생한다고 지적합니다. 플래시가 정말 그렇게 비효율적인가요? 확실히 그렇지 않습니다. 이는 단지 Flash의 남용과 고르지 못한 웹 프런트엔드 개발자로 인해 발생한 것입니다. 마찬가지로 IE의 JS 엔진을 사용하여 XX 팜의 Ajax 버전을 작성하고 모든 페이지 광고 애니메이션을 JS로 작성한다면 이는 비효율적이라고 생각합니다. Flash가 정말 비효율적이라면 왜 Ajax로 제작되지 않은 웹 게임이 그렇게 많을까요? 잘 최적화된 많은 Flash3D 게임 장면이 매우 부드럽지만 2D XX 팜으로 인해 Core 2 속도가 느려질 수 있는 이유는 무엇입니까? 정보가 부족하고 설익은 개발자는 항상 브라우저의 응답 없음과 충돌을 Flash의 비효율성 탓으로 돌립니다. 따라서 HTML5가 향후 Flash를 대체하려면 효율적인 2D/3D 그래픽 및 텍스트 렌더링 엔진과 효율적인 JavaScript 엔진이 있어야 합니다. 이를 통해 더 나은 사용자 경험을 제공할 수 있습니다. 모든 브라우저 제조업체는 이에 대비하고 있나요? Chrome과 Opera가 이 길을 가고 있는 것으로 보입니다.
호환성: HTML4 표준은 10년 이상 존재해 왔으며 오늘은 fxckIE6이라는 CSS 스타일 이름도 적어보겠습니다. 브라우저 호환성이 가장 큰 문제가 될 것입니다. 특히 많은 기능을 추가한 HTML5와 CSS3는 더욱 그렇습니다. IE, Firefox, Chrome, Safari의 주요 기업들은 어떻게 협력합니까? 차별화된 제품을 개발하려면 동질적인 기능을 제공해야 한다는 모순이 있습니다. JS 성능, 탭 브라우징, 동기화된 컬렉션, 사용자 경험을 향상시키는 플러그인 등의 기능은 모두 차별화 영역입니다. 또 IE만 되는 ActiveX 같은 것이 있다면 HTML4 방식을 그대로 유지하는 것이 좋을 것 같습니다.
개발 모델: Flash IDE는 수많은 뛰어난 아티스트, UI 디자이너 및 인터랙티브 프로그램 디자이너를 통합하여 궁극적으로 Flash를 구현합니다. 이는 그래픽 디자인 및 인터랙티브 디자인 그룹에서 Macromedia 및 Adobe의 매력과도 관련이 있습니다. HTML5 상호작용은 JavaScript를 새로운 수준으로 끌어올릴 것이며, 이를 위해서는 성숙한 개발 환경이 반드시 필요합니다. DW+Firebug를 계속하시겠습니까? 아니면 DW가 새로운 HTML5 대화형 개발 IDE로 업그레이드됩니까? 아니면 Microsoft VS가 이를 수행합니까, 아니면 Eclipse입니까? 성숙한 개발 환경만이 인재를 모으고, 끝없는 창의성을 자극하며, 더 많은 콘텐츠를 가져올 수 있습니다. 풍부한 콘텐츠는 자연스럽게 더 많은 사용자를 불러옵니다.
배포: 이것이 가장 중요한 문제입니다. 이 단계가 없으면 모든 것이 0입니다. 새 버전의 Flash를 배포하는 방법은 무엇입니까? 90% 이상의 데스크톱 공유를 기반으로 플러그인을 업데이트해도 괜찮습니다. HTML5를 배포하고 브라우저를 업데이트하는 방법은 다소 어렵습니다. 집요한 IE6을 살펴보세요. 누군가 Microsoft가 ServerPack 시스템에 IE 업데이트를 포함하자고 제안하는 것을 들었습니다. 저는 이 아이디어가 좋다고만 말할 수 있지만, 독점 금지 정책이 Microsoft를 확실히 죽일 것입니다. 그렇다면 사용자에게 브라우저를 업그레이드하도록 안내하는 방법은 무엇입니까? 인터넷 "핵심 사용자"에게는 문제가 되지 않습니다. 현재 많은 사람들이 HTML5 및 CSS3의 일부 기능을 지원하는 Chrome 개발 버전을 사용하고 있습니다. 그러나 이러한 "라이트 사용자"는 매일 웹 페이지를 읽는 데 사용하는 창과 브라우저 사이의 관계를 이해하지 못할 수도 있습니다. 이를 안내하려면 HTML5 킬러 애플리케이션이 필요합니다. "라이트 사용자"는 기술을 기반으로 브라우저를 거의 업그레이드하지 않으며 애플리케이션 요구 사항에 따라 업그레이드합니다. 예를 들어 YouTube는 더 이상 IE6 사용자를 지원하지 않으므로 YouTube 동영상을 좋아하는 사용자는 다시 방문하기 전에 IE6으로 업그레이드해야 합니다. 사용자는 HTML 표준과의 호환성이 좋지 않기 때문에 IE6 업데이트를 선택하지 않을 것입니다. 그렇다면 HTML5의 킬러 애플리케이션은 어디에 있습니까? 아니면 모두 유튜브의 영향력과 매력을 갖고 있는 걸까? 그리고 그러한 매력이 없는 웹사이트에서 누가 성급하게 HTML5를 지원하고 사용자에게 브라우저 업그레이드를 요구하는 데 앞장서겠습니까? 이런 웹사이트들은 필연적으로 죄수의 딜레마에 빠지게 되며, 반복되는 죄수의 딜레마에서는 게임이 반복적으로 진행됩니다. 드디어 HTML5 시대로 본격적으로 진입하게 됩니다. 이 과정은 짧을 수도 있고 길 수도 있습니다. 결국 기존 웹 프론트엔드가 붕괴할 지경은 아니었지만, 플래시 등 플러그인과 jQuery 등 JS 프레임워크의 인상적인 성능 덕분이다.
요약
HTML5는 사용자 애플리케이션에 긴급하게 필요한 것은 아니지만 제조업체가 소프트웨어 생태학적 환경을 변화시키려는 전략적 요구에 더 가깝습니다.
과거 주요 브라우저의 성능을 볼 때 HTML5의 호환성은 아직 미지수이며 애플리케이션을 즉시 마이그레이션하는 것은 적절하지 않습니다.
HTML5에는 메모장 + 브라우저가 처리할 수 없는 성숙하고 완전한 개발 환경이 필요합니다.
HTML5 기능이 폭발적으로 증가함에 따라 브라우저에는 효율적인 그래픽 엔진과 스크립트 엔진이 필요합니다.
HTML5에는 사용자가 브라우저를 업그레이드하고 궁극적으로 HTML5 터미널 배포를 완료하도록 유도하고 안내하는 킬러 애플리케이션이 필요합니다.
Flash는 강력한 유연성을 갖춘 끊임없이 발전하는 기술입니다. HTML5는 Flash를 완전히 대체할 수 없으며 많은 개발자가 Flash를 완전히 포기하지는 않습니다.
Adobe AIR가 더 잘 개발되어 Flash가 더 나은 개발과 더 많은 애플리케이션을 통해 브라우저 웹 애플리케이션을 능가하고 운영 체제를 확장할 수 있기를 바랍니다.
문자/IT168