1.라이브러리와 프레임워크의 차이
2.프로그램을 연결해주지만 사용자에게 보이지 않는 API
3.자유로운 웹 표준과 오픈소스가 아닌 필수요소의 만남과 결과
2023.02.20 mon
EP 11 ~ 15
라이브러리와 프레임워크는 비슷하다.
공통점은 누가 미리 작성해 놓은 코드이고, 개발을 빠르게 할 수 있도록 만들어 주는 도구이다.
차이점은 "누가 누구를 제어하는가?"인데
어떤 도구에 대해 모든 결정을 내리고 있다면 라이브러리.
누군가의 규칙에 따라 도구를 사용하고 있다면 프레임워크.
라이브러리 ex)jQuery, bootstrap 등
jQuery는 웹에 인터랙티브 요소를 넣을 수 있게 해줌
bootstrap 웹 화면을 구성할 떄 메뉴/버튼/레이아웃 등을 구현하게 해줌
라이브러리는 필요할 때 가져다 쓰고 다른 라이브러리로 쉽게 대체가 가능함.
프레임워크 ex) Django, Spring
프레임워크를 사용해서 코드를 작성할 때는 코딩 규칙, 파일 저장 규칙 등을 따라서 개발해야 함. 사용자가 임의로 규칙을 바꿀 수 없고
프레임워크를 바꾸려면 모든것을 바꿔야 하기 때문에 선택이 신중해야 함.
대신 완정도 높은 결과물이 보장됨.
컴포넌트를 중심으로 개발하는 React는 사용 규칙이 있고 둘의 특징을 모두 갖고 있는 느낌이 있다.
jQuery는 06년에 js와 브라우저의 문제점을 보완하기 위해 등장했다.
호환성과 깔끔함을 챙기며, 각 브라우저에 맞춰 js 코드를 따로 작성하는 수고를 덜어줬다.
한때 여러 기능을 앞세워 jQuery열풍이 있었지만
js의 버전(ES2015-17)등을 거치며 상기의 문제점들이 개선됨에 따라
필요할때만 배우는것이 괜찮은 정도로 입지가 줄어들었다.
API(application programming interface)는 프로그램끼리 소통하도록 도와주는 연결 역할을 해준다. 날씨 API를 예로 들면 기상청에서 제공하는 API를 통해 특정 지역의 날씨를 알 수 있고, 현재 날씨 가져오기 등의 기능으로 데이터베이스로부터 정보를 얻는다.
웹 API는 브라우저와 개발자를 위해 만들어졌고, 크롬 브라우저에서 동작하는 프로그램을 개발하고 싶을 때, 누군가가 마든 코드와 브라우저를 연결해야 할 때 웹 API를 사용하면, 브라우저나 마이크, 카메라 등을 연결하는 코드를 직접 만들지 않고 간단히 사용할 수 있다.
웹 API는 오래전부터 있었고 기술 발전에 따라 점점 커졌다.
그저 API를 통해 원하는 정보를 가져오거나 연결을 하는것이 목적이므로 보통 API의 구체적인 작동 방식이나 원리를 사용자는 알 수 없다.
API가 마음에 안 든다면 직접 만들어 볼 수도 있다.
인터넷에 연결된 모든 웹 사이트는 IP 주소로 찾을 수 있고, 숫자이다.
숫자를 외우는 불편함을 덜기 위해 이름같은 도메인 시스템을 사용하고 있다.
google.com을 입력하면 브라우저는 도메인 시스템에서 해당 IP 주소를 찾고 이동한다. 이것이 도메인 시스템이다.
메인 전화번호부와 서브 전화번호부로 예를 들면
최상위 전화번호부에는 비영리 기구인 ICANN이 해당하고
서브에는 레지스트리가 해당한다. 레지스트리는 기업에서 운영함. ex)verisign의 .com
도메인은 레지스트리가 아닌, 리셀러로부터 구매를 한다.
도메인을 레지스트리에 등록하는 과정이 복잡하기 때문에 리셀러를 이용함.
GoDaddy, gabia, Whois, 한국은 카페24 등이 있다.
ICANN(Internet Corporation for Assigned Names and Numbers)에 신청하면 우리도 새로운 레지스트리를 운영할 수 있지만 레지스트리를 운영하면 사용자의 시간과 돈에 영향을 미치기에 인프라, 기술, 고객관리 등의 운영능력이 있는지 ICANN에 증명해야 하며 상당한 금액을 지불해야 한다.
어도비 플래시는 에니메이션을 브라우저에 띄울 수 있게 해 주는 프로그램이고
과거의 단조로운 웹 사이트를 멋지게 구현할 수 있었다. 스타트업의 유튜브가 비디오 재생 도구로서 이용함으로써 위상에 많은 변화를 일으켰고, 웹 사이트의 필수 요소가 되었다.
하지만 플래시는 오픈소스가 아닌 특정 기업의 소유였고, 누구나 참여하고 실행 가능한 웹 생태계에서 걸림돌이 되었고, 보안, 데탑 기반의 프로그램 등 여러 문제를 안고 있었다. 여러 문제점이 잡스에게 찍혔고
그리고 HTML5, CSS3이 도입되는 웹 기술의 발전에 의해 플래시는 20/12/31에 서비스를 종료했다.
들으면 머릿속에 쉽게 떠오르는 예시 덕분에
닮은 것들의 차이점 등의 이미지가 잘 떠올랐다.
기한을 정하는 공부법이 나에겐 꼭 필요한 것 같다.
하지만 나는 생각보다 미친듯이 게을러서 미루다가 급하게 기한을 맞추는 경향이 있다.
난 시작하는 시점의 기한도 정해야 할 것 같다.