c# 웹브라우저 질문드립니다!!

조회수 954회

안녕하세요. . c#을 이용해 웹 브라우저를 만든다고 가정했을 때

c#에서 제공되는 webbrowser 클래스를 이용한다는 것은 이미 설치된 인터넷 익스플로러를 윈폼에 추가하여 나타낸다는 것일 뿐이지 웹 브라우저를 만든다고 볼 수 없는 것 아닌가요?

아니면 웹 브라우저에서 렌더링 엔진의 역할이 요청 받은 내용을 브라우저 화면에 표시하는 일이라고 하는데, webbrowser 클래스를 사용하는 것이 완전한 인터넷 익스플로러 브라우저를 윈폼에 끌어다 쓰는게 아니라 요청한 컨텐츠를 표시하는( 예를 들어 HTML을 요청하면 HTML과 CSS를 파싱하여 화면에 표시) 렌더링 엔진만을 사용한 것이다라고 생각하면 되는건가요?

또 IE는 Trident 엔진, 크롬은 blink , firefox는 gecko 렌더링 엔진을 사용한다고 하는데 https://www.youtube.com/watch?v=o8f8Iv1f040 위 동영상에서 나오듯이 gecko 프레임 워크를 설치하는게 렌더링 엔진을 설치하는 건가요? 프레임 워크안에 파싱하고 돔트리를 구축하는 과정들이 클래스로 다 정의되어 있는건지... 개념을 잡아가는 단계인데 헷갈리는 부분들이 많습니다. 웹에 대한 이해와 지식이 많이 부족한데 혹시 참고할만한 기초적인 자료들 또한 알려주신다면 감사하겠습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 기본적인 웹브라우징이 다 된다는 건 렌더링 엔진 뿐만 아니라 핵심적인 건 다 가져왔다고 보시는게 맞습니다. 윈폼/WPF의 WebBrowser 컨트롤은 인터넷 익스플로러에 COM인가 OLE인가 하는 외부 프로그래밍 인터페이스를 노출시키고, 그걸 WinForms에 맞게 래핑해놓은 거라고 들었습니다.

    다른 브라우저 엔진을 가져다 쓸 수 있는 프로젝트도 마찬가지로 렌더링 엔진 외에도 브라우징에 필요한 기본적인 걸 다 포함한 상태일 겁니다. UI 같은 것만 빼구요. 아니면 브라우징이 불가능하죠. JavaScript 엔진이 없다던가, 네트워크 부분이 없다던가 하는 브라우징은 상상할 수가 없죠.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)