티스토리 툴바

개발자가 주목할 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

저작자 표시

Trackback

http://alankang.tistory.com/trackback/215 관련글 쓰기
  1. IE8 ♥ Developer 간단(?) 후기

    from Life Player 2009/03/11 20:47  삭제

    오늘 개발자가 주목할 Internet Explorer 8 세미나에 다녀왔습니다. (리뷰라고 갑자기 존댓말) 사실 팀 내에서 IE8에 대한 준비를 하고 있었던 터라 오늘 발표한 IE8의 새로운 여러 기능들에 대해서는 이미 알고 있는 상태로 참가했는데요. 특히나 웹조각(web slice)의 경우 surprising님이 사내 테스트 서버에 올려놓고 테스트 하신 걸 보고 가서 그런지 우리도 일찌감치 반영해볼 걸 하는 아쉬움 외에 특별히 새롭게 느껴지는 부분..

  2. IE8 세미나 발표 자료 공유

    from UXCommando! :: Silverlight blog 2009/03/12 02:08  삭제

    오늘 개발자가 주목할 IE8 Love Developer 세미나가 많은 분들이 찾아주신 가운데 끝났습니다. 예상보다 많은 분들이 오셔서 앉을 자리가 부족해서 초반 부에 서서 보시거나 여러모로 불편함을 겪으신 분들께 진심으로 죄송스런 마음 입니다. 많은 분들이 기다리실 발표 영상은 편집을 거쳐서, 공개될 예정이며, 우선 사용된 발표자료를 공유하려고 합니다. 발표자료와 더불어 관련한 좋은 내용들이 많이 있는 발표자 분들의 블로그 주소도 같이 알려드립니다...

  3. 차니의 생각

    from channy's me2DAY 2009/03/12 03:04  삭제

    IE8을 위한 웹표준 대응 및 자바스크립트 대응추천! (IE사용자들 Firefox 쓰시란 말 안합니다. IE8나오면 업그레이드나 해주세요.)

  4. 개발자가 주목할 Internet Explorer 8

    from 내 이야기좀 들어볼래? 2009/03/12 09:14  삭제

    Internet Explorer 8 (이하 IE8) 컨퍼런스 다녀왔습니다. IE8의 특징과 함께, 웹 표준, Ajax, ActiveX 관련 내용들과 IE8은 어떤 관계에 있는지 사용자의 접근성보다, 개발자의 시각으로 생각할 수 있는 좋은 시간이었습니다. 0. 분위기 코엑스에 13:20 쯤에 도착하였어요. 컨퍼런스룸 좌석수보다, 사전등록된 인원수가 넘쳤던것인지, 좌석이 왜 모자랐는지 모르겠어요. 개발자들에 대한 IE8의 관심을 간접적으로 느낄 수 있는..

  5. 아직은 IE8을 사랑하긴 이르다

    from 웹 뒤에 숨은 Web 2009/03/12 09:38  삭제

    오늘 오후 한국MS가 마련한 IE8 Love Developer - 개발자가 주목할 Internet Explorer 8 세미나에 다녀왔습니다. 소문난 잔치에 먹을 것 없다고 해서 사실 MS가 차린 밥상에는 숟가락 들고 잘 찾아가지는 않았습니다만 이번 세미나 중에 2,3 세션에 관심이 갔던지라 회사에 허락을 받고 모처럼 밝은 낮에 외출을 해볼 수 있었습니다. 소감부터 밝히자면 생각보다 꽤나 유익했던 세미나였습니다. 옥의 티라면 극장도 아닌데 '팝콘'을..

  6. IE8 Love Developer - 개발자가 주목할 IE8 세미나 후기

    from MaKeYOurOwN mkyoon 2009/03/12 19:58  삭제

    IE8 ♥ Developer - 개발자가 주목할 Internet Explorer 8 세미나에 다녀왔습니다. 행사장에 올라가자마자 내 콧속을 간지럽히는 팝콘냄새에 등록이고 뭐고 후다닭 해치우고 바로 팝콘 줄에 섰습니다.+_+ 하하 팝콘 캐릭터 귀여웠어요~ POPCON - http://blogs.msdn.com/popcon Light & Delicious POP & CONference. 팝콘처럼 고소하고 재미있는 이야기와 정보가 가득한...

< Newer     Older >