인터넷 익스플로러8 정식 버전이 나왔습니다. (한글판 받기)

 

속도:

랜더링 속도나 자바스크립트 수행 속도 등에 있어서는 사파리, 크롬, 오페라, 파이어폭스에 비해 떨어지지만 사이트 초기 로딩 속도는 매우 훌륭합니다.

 

표준 지원:

IE8은 마이크로소프트에서 나온 브라우저 중 최초로 ACID2 테스트를 통과한 브라우저입니다. 타 브라우저에 비해 늦은 감이 있지만 지금이라도 CSS 2.1을 제대로 지원하게 되었으니 칭찬할 일입니다.



그 밖에도 HTML5 일부 지원 등 여러 측면에서 기존 IE6,7에 비해 상당히 훌륭한 면들이 있습니다.

 

호환성:

기존의 IE 버전에 최적화된 사이트들 중 일부는 IE8에서 약간 이상하게 보이거나 제대로 작동하지 않을 수 있는데, 이중 거의 대부분은 호환성 보기 버튼을 클릭하는 것으로 한 번에 해결할 수 있습니다.


사이트를 개발/운영하는 입장에서도 코드 한줄만 삽입하면 일단 간단하게 문제를 해결할 수 있게 되어 있습니다. IE8에는 과거 브라우저와의 호환성을 유지하기 위해 여러 랜더링 엔진이 포함되어 있기 때문입니다. 물론 코드 한 줄 넣어서 수정하는 방법은 급할 경우에 임시로 쓰는 것이고, 장기적으로는 표준에 맞게 사이트를 수정하는 것이 좋겠죠.


추천사들:


설치합시다:

기존 버전의 IE를 쓰시고 계시다면 얼른 새 버전을 설치합시다(한글판 받기). 혹시 조금 더 새로운 시도를 해보실 분께는 사파리, 크롬, 오페라, 파이어폭스 중 한 가지를 권합니다. 참고로 제가 메인 브라우저로 사용하고 있는 것은 구글 크롬입니다.

:-)

신고

개발자가 주목할 IE8 세미나 중 "Ajax 개발자가 IE8에 대해 알아야 할 모든 것" 부분에 대한 참고자료 입니다. 질문은 댓글 혹은 메일(jania902 at gmail dot com)로 해주시기 바랍니다.

2009년 3월 11일 기준 자료이므로 이후에 내용이 바뀔 수 있습니다.

감사합니다.

세미나 동영상


개요

  • 주제: Ajax 개발자가 IE8에 대해 알아야 할 모든 것
  • 소개: IE8의 새로운 기능, 타 브라우저와의 호환성, 개발자용 도구, 성능 개선 등 IE8과 관련하여 Ajax 개발자가 알아야 할 주요 이슈들을 소개합니다.
  • 장소: 코엑스 컨퍼런스 센터 401호
  • 일시: 2009/03/11 13:30~18:00 중 16:00~16:50

주제

1. Ajax

XMLHttpRequest:

Cross Domain Request (XDR):

Cross Document Messaging (XDM):

HTML/JSON Sanitizing:

    • Built-in JSON object. 빠르고 안전한 JSON 처리.
    • Special functions, toJSON(), are added to the prototypes of Date, Number, String, boolean objects
    • Doug Crockford의 json2.js에 기반. 이를 사용하고 있던 웹 사이트에서는 호환성 문제가 생기지 않을 것.

    • Firefox 3.1 도 Native JSON 지원.
    • 참고로, Webkit nightly에서도 지원 중.

Connectivity:

    • HTTP/1.1 on Broadband인 경우 호스트당 최대 6개의 동시 연결(기존 2개). 이는 HTTP/1.1 스팩에 따른 것(A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy)이었으나 Broadband, Ajax 등으로 인해 상황이 바뀌었음.
    • window.maxConnectionsPerServer로 알아낼 수 있음

    • onLine property of window.navigator and window.clientInformation. "Work offline" 뿐 아니라 실제 연결이 끊어진 경우도 true

    • body의 onlineoffline 이벤트 핸들러 지원(HTML5)

DOM Storage:

    • "What is DOM Storage?" - cookie와 DOM storage 비교.
    • localStorage는 sessionStorage와 달리 여러 윈도/여러 세션 간 공유됨.

  • 는 현재 sessionStorage만 지원. 비표준인 globalStorage가 localStorage와 유사하게 활용될 수 있음.

  • Webkit 최신 버전(Safari 4 public beta 등)은 sessionStorage와 localStorage 모두 지원.

Ajax Navigation:

    • Prev/Back 버튼 문제 지원을 위한 onhashchange 이벤트 추가. document.location.hash가 바뀌면 호출됨.

    • iframe, hash+setInterval 등을 이용한 기존의 꼼수를 대체.

2. 프로그래밍 일반

JScript:

    • 기존 JScript와 ECMAScript 스팩의 차이를 밝히고 이를 제거하는 것이 첫 단계라는 글. See 

    • 엄청난 악플들. 요약하자면 "8년 동안 뭐하다가 이제서야 고치는가", "JScript 문제를 왜 Javascript 문제라고 말하는가".
    • ECMAScript 4(Mozilla, Apple, Opera, Google)와 ECMAScript 3.1(Microsoft, Yahoo) 그룹 간의 합의. ECMAScript Harmony 프로젝트 시작됨.
    • 를 실제 표준으로. 예를 들면 JS Getter/Setter는 Mozilla, Apple, Opera에서 이미 구현한 기능.

    • Harmony에 대한 MSDN JScript 블로그의 글. 특별한 내용은 없음.
    • IE Beta 2의 개선사항 요약.
    • 업계 최초의 Native JSON 지원. (2009년 3월 현재 Firefox 3.1 및 Webkit nightly에서 지원. 결국 누가 최초냐는 누가 먼저 정식 릴리즈를 하느냐의 문제)
    • Developer Tool 지원 향상. 이를테면 console.log 지원, profiler 추가 등
    • 에 의하면 Beta 2에서 DOM prototype 지원 시작.

    • IE Team과의 web chat 요약. JScript 향상에 집중하고 있다고. "We're certainly focusing heavily on improving Javascript, in IE8 and beyond. I'd expect to see great things here in the future."

Performance:

    • IE8 Beta 1에서는 애플리케이션의 메모리 소비량에 따라 GC 실행 주기가 적응적으로 변하도록 개선
    • JScript에 의해 참조되는 DOM 객체를 일반 JS 객체와 동일하게 취급. 따라서 Circular Reference로 인한 Memory Leak 문제가 발생하지 않음. IE7의 경우 페이지를 이동할 때에만 메모리가 release 되었음.
    • Array 연산, String concatenation 등의 성능 향상
    • Function calls, object creation, accessing object prototype properties and specific lookup patterns for JScript variables scoped to the window or this objects.
    • Unblocked downloads
    • Native JSON support
    • Selector API
  • Performance Profiler (see Developer Tools)

Selector API:

    • 대부분 브라우저의 최신 빌드에서는 99% 성공. IE8은 44%만 성공. Major problem areas are lack of whitespace trimming, incorrect exceptions being thrown, and lack of full CSS 3 selector support.
    • 전체 문서에서 찾은 후 범위에 의해 필터링하는 방식의 문제. Alex Russell (dojo), Andrew Dupont (prototype), John Resig (jquery) 등은 Spec 버그로 간주.
  • :visited는 보안상(privacy) 무시

  • 결론: 기존 브라우저들 때문에 어차피 앞으로 최소 1~2년 간은 Selector API를 직접 쓸 일 없을 것. 적당한 라이브러리를 쓸 것을 권장함. 라이브러리 성능이 크게 향상될 것이라는 점에 의의가 있음.

DOM:

3. 개발 도구

Developer Tool:

4. 참고자료

Overview articles:

Sites:

이번 세션에서 다루지 않는 주제들

Accessibility and ARIA:

  • ...

Rendering Mode and Standard Compliance:

Security:

    • XDR, XDM
    • HTML Sanitization, JSON Sanitization(Safer Mashups: JSON Sanitization 부분에서 HTML/JSON sanitization을 같이 쓰는 예시)
    • MIME-Handling Changes - Restrict Upsniff(images/*를 html/script로 해석하지 않음), Sniffing opt-out(Content-Type: text/plain; authoritative=true;), Force Save(X-Download-Options: noopen)

    • document.domain의 원래 값(app1.example.com)을 느슨하게(loosen)하는 것은 허용(example.com, 다시 조이는 것(tighten)은 막음(app1.example.com). 다른 브라우저와 통일된 동작. 다른 도메인과 데이터를 교환하려면 XDM, XDR 등을 사용할 것.

    • Restricting Frame-Targeting: a.com에서 window.open으로 만든 새 창 a가 있을 때, b.com이 target을 a로 하여 window.open을 하면 새 창이 열리도록.
    • Beta1의 authoritative=true 방식을 X-Content-Type-Options: nosniff 방식으로 변경.

    • CSS expression 제거(IE8 표준 랜더링 모드)
    • 70% 정도의 XSS 공격을 막아줄 수 있는 자동 XSS Filter

저작자 표시
신고

이번주 수요일(11일)에 코엑스에서 IE8 Love Developer - 개발자가 주목할 Internet Explorer 8 세미나가 열리는데, 이 중 세번째 시간을 맡게 되었습니다. (제목이 좀 재밌어요. "주목"이라니 ㅋㅋ. "대박 집"이라는 가게 이름이 생각난다는. 근데 공부를 하다보니, 실제로 주목할만 합니다)

에, 하여간 그건 그렇고, 발표 주제를 "Ajax 개발자가 IE8에 대해 알아야 할 모든 것"으로 잡았습니다. 뭐 제목이야 그렇게 잡았는데 실제로 모든 것을 다룰 수는 없겠죠 ㅎㅎ (모든 것을 알고 있는 것도 아니고요) 그래도 MSDN 등에 공개된 관련 문서는 일단 대충 훑었습니다.

그간 기획하네 UX하네 하느라 뒤쳐진 공부도 따라잡을 겸 주말 이틀 합쳐서 대략 20시간 정도 자료 조사 및 코딩 삽질을 통해 대충 공부를 했습니다(MSDN 문서 중 XDR 부분이 Beta 1 기준으로 작성되어 있어서 삽질하며 보낸 시간이 젤루 아깝),

이제는...

  1. 발표 어떻게 진행할지 고민
  2. 이에 따라 PPT 작성

이 남았는데 벌써 시간이 새벽 2시를 향해 갑니다. --;

추가: 세미나가 성공적으로 진행되었습니다. 자료 및 동영상은 이곳을 참고하주세요.

저작자 표시
신고
  • Web Traffic Analytics and User Experience - Boxes and Arrows: The design behind the design

    웹 트래픽 분석과 UX. 얼마전에 Avinash Kaushik의 저서 "Web Analytics"를 읽으면서 웹 사이트의 UX를 개선하기 위해 웹 트래픽 분석 기법들을 활용하면 좋겠다는 생각을 했었는데, 마침 이런 글 발견.

  • High Performance Web Sites :: Say “no” to IE6

    IE6 추방하기. 단순히 특정 회사에 대한 반감 같은 것이 아닙니다. IE6 대신 IE7를 추천해도 좋습니다. 다만 개발자를 무진장 애먹여왔던 IE6만 사라지면 좋겠습니다. MS 입장에서도 IE7 점유율이 높아지면 좋은 것 아닌가요?

  • Jack - Confluence

    JSSpec을 지원하는 자바스크립트 Mock Object 프래임워크라고 합니다.

  • :::Starry Night::: :: 주기율표

    주기율표의 다양한 시각화 사례. 지금은 딱히 어디에 써먹어야할지 모르겠지만, 추후에 정보시각화(Information Visualization)에 대한 영감을 얻기에 좋겠다 싶습니다. (자연석 하나 확보) 에 또, 종이라는 매체의 한계에서 벗어나면 좀 더 창의적인 해법을 많이 찾을 수 있을 것이라는 생각이 듭니다. 정보시각화는 단순히 예쁜 그림 이상이어야 한다고 생각합니다. 적절한 상호작용(interaction)이 가미되면 좋겠군요

신고

IE8 관련 소식

드디어 올라온 IE8 소식.

molly.com에 올라온 빌게이츠와의 대화에서는 Mix n' Mash에서 molly.com의 운영자가 빌게이츠와 IE8과 마이크로소프트의 투명성에 대한 주제로 대화한 내용이 올라와 있습니다. 조만간에 IE 관련 흥미로운 소식이 공개될 것 같다고 말하고 있습니다(Before, or by March of this year at MIX, there will be some news I’m sure will be of interest to anyone working with Internet Explorer)

이에 맞추어, IEBlog에도 IE8 소식이 올라왔는데... 문제는 아무런 내용이 없다는 점. IE 다음 버전의 이름을 뭘로 할까에 대한 짧은 글 정도이고, 조만간에 추가적인 글들을 포스팅할 것이라고만 하는군요.

그리고 침묵하고 있다고 해서 아무 일도 안하고 있는 것은 아니라고 말하고 있습니다.

댓글은 여전히 까칠(재미 없다, 누가 이름이 궁금하다고 했으냐 등)하지만 간혹 격려하는 글들도 보입니다. Ajaxian에서도 이 글을 소개하고 있지만 역시나 추가적인 내용은 없군요.

신고
< Newer     Older >

티스토리 툴바