본문 바로가기
프로그래밍

소프트웨어 이해하기

by 데일리파이 2023. 6. 12.
반응형

소프트웨어 이해하기

 

플랫폼(platform) = 프로그램이 실행되는 하드웨어, 소프트웨어 환경

애플리케이션의 플랫폼 = 운영체제

프로그램을 구현할때 각 플랫폼에 맞게 프로그램을 만들어야 한다.

 

종류가 안 맞으면 실행이 안된다.

플랫폼의 종류에 맞게 제작해야 한다.

 

모바일 애플리케이션 - 종류와 환경에 따라 개발하고 유지보수하고 수정 후 배포도 새로 해야한다.

하드웨어와 운영체제에 따라서 앱을 제작해야 한다.

위 현상을 플랫폼 파편화라고 한다.

 

해결책은 표준!

하드웨어 회사에서 하나의 표준을 삼아 서로 약속을 만들어 제작하면 따로 테스트할 필요없이 받아들일 수 있고 파편화 현상도 개선된다. 이 점을 이용해 애플리케이션의 고충도 덜 수 있게 된다.

애플리케이션의 파편화를 해결하기 위한 해결책은 가상의 컴퓨터를 각 하드웨어(컴퓨터, 모바일등)에서 실행시키면 여기에 맞게 애플리케이션을 만들면 된다.

 

크로스 플랫폼 = 여러 os, cpu등에서 동일하게 실행할 수 있는 환경.

 

이걸 시도한 언어가 JAVA이고 이걸로 만든 가상의 컴퓨터가 JVM(Java Virtual Machine)자바를 이용한 가상의 컴퓨터

JAVA의 슬로건은 Write once, run anywhere.

코드는 한번만 쓰고, 어디서든 실행하라.

 

WEB에서는 어떠할까?

HTML/JavaScript

브라우저가 그 완충역할을 한다.

 

웹규격에 맞춰 제작 - 브라우저 - 플랫폼

구글사이트등 일단 만들고 나면 플랫폼에서 다 보인다.

웹표준 - 국제표준화기준 iso

웹의 단점 - 브라우저 호환성 문제

 

네이티브 애플리케이션과 웹 애플리케이션

 

웹을 이용해 판매, 미디어 감상, 맵 이용하기 등 앱처럼 사용할 수 있는 것을 웹 애플리케이션이라고 한다.

기계 os에서 바로 실행할 수 있는 것을 native application, 웹/브라우저를 통해 실행하는 것을 web application이라고 한다.

 

Native application은 인터넷 연결없이 사용가능하다.

단점은 반드시 배포/설치되어야 한다는 것이다.(웹은 바로 이용가능)

웹앱은 적은 투자와 노력으로 서비스를 런칭하는데 용이하다.

Single page application -페이지 이동없이 앱처럼 하나의 화면에서 이동가능하다.

Hybrid web application - 배너광고처럼 앱 사이에 구멍을 하나 만들어놓고 거기에 광고를 올리는 것이다. 정해진 특정공간만 바꿀 수 있으며 누르면 웹 페이지로 이동한다.

Progressive Web Application(PWA) 웹과 네이티브의 장점만 합치는 것이다. 웹에 네이티브의 장점을 가져오는 것. 설치없이 실행 가능하며 주소만 입력하면 접근 가능하다.실시간 업데이트가 가능하며 인터넷 없이 실행도 가능하다.

 

 

반응형

'프로그래밍' 카테고리의 다른 글

동기성 비동기성 차이  (0) 2023.12.03
zsh: command not found: flutter  (0) 2023.11.05
코딩할 때, !이거는 무슨 의미였지?  (0) 2023.07.04
프로그래밍 기본기  (0) 2023.06.11