본문 바로가기
컴퓨터공학/개발환경

개발환경 | 개발 도구의 종류

by KISCH 2019. 11. 21.
반응형

 

 

개발  

 

 

 

개발자의 관점에서 개발이란

 

 

엔진, 프레임워크 등의 특정한 개발 환경에서 함수, 라이브러리 등의 개발킷, 개발 도구 불러와 사용 가능한 개발 언어로 인터페이스에 맞게 특정 플랫폼, 운영체제 등의 시스템에서 동작할 수 있는 프로그램, 소프트웨어를 만드는 것

 

 

이라 볼 수 있습니다.  먼저 개발환경과 개발툴 대하여 어떠한 것들이 있는지 알아보도록 하겠습니다.

 

 

 

플러그인   

 

기존 응용소프트웨어에 특정기능을 추가하기 위한 소프트웨어 요소로 특정기능이 기본적으로 포함되어 있다면 빌드시간이 늘어나고 실행파일이 무거워질 수 있습니다. 그렇기 때문에 필요할 때 꽂았다가 언제든 뺄수 있는 소프트웨어라고 생각하시면 좋을 듯 합니다.

 

예를 들어 유니티 ASSET 폴더 안에 Plugins 폴더 안에는 앱이나 게임 내 결제를 하려면 UnityIAP 플러그인이 필요합니다. 결제가 필요없는 앱이나 게임이라면 필요없는 폴더가 됩니다.

 

 

 

 

 

 

 

소프트웨어  

 

Bootstrap 웹 사이트나 응용 프로그램을 작성하기 위해 사용하는 무료 소프트웨어 도구 모음

MonoDevelop : 에디터

phpMyAdmin : MySQL을 월드와이드웹상에서 관리할 목적으로 PHP로 작성한 도구

Sequel Pro : DB 접속 프로그램

SourceTree : Git 소스 분산버전관리

Spine2d : 애니매이션

Sublime Text : 에디터

VSCode : 에디터

Xdebug : PHP 어플리케이션의 버그 발견. 성능 개선 소프트웨어

Xamarin Mono : 기반. 크로스 플랫폼. MS 2016년 인수

 

 

SDK   

(Software Develpment Kit)  소프트웨어 개발도구

 

함수 : 프로그램을 구성하는 가장 작은 단위

Android SDK : 안드로이드 소프트웨어 개발 키트

iOS SDK : iOS개발을 위한 애플의 소프트웨어 개발 키트

JDK : JRE + SDK. JRE 자바 실행 환경과 SDK 프로그램 개발 키트

NDK : Native. C로 만들어진 코드를 java 로 다시 만들 필요 없음

 

 

라이브러리  

함수들을 제작하여 나중에 다시 쓸 수 있게 모아둔 것

 

 

API : 운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메시지 형식

- REST API : http 프로토콜의 장점을 살릴 수 있는 네트워크 기반 아키텍쳐
- Web API : REST API 제약조건으로 지원이 어려울 때 외부 소스에서 데이터 등의 자원을 가져오도록 요청할 수 있는 API

ThirdParty : 개발자들에게 필요한 라이브러리를 제작해 공급하는 업체

OpenSSL : 보안 라이브러리. TLS와 SSL의 오픈 소스 구현판

OmniSharp다양한 에디터에서 사용할 수 있는 오픈소스 프로젝트 그룹. C#코딩을 Sublime Text, Atom, Emacs 등 여러 에디터에서  가능하게하고, 개발 시 인텔리센스 기능(자동코드완성) 제공

React : 사용자 인터페이스 빌드를 위한 자바스크립트 라이브러리

RxJava 함수형 프로그래밍을 활용 리액티브(반응형) 자바 라이브러리

jQuery  모든 브라우저에서 동작하는 클라이언트 자바스크립트 라이브러리.

 

 

인터페이스 

 

CLI : 명령줄 인터페이스

JNI : C/C++ 언어로 작성된 프로그램을 java에서 사용할 수 있도록

Win32 API : MS사의 윈도 계열 운영 체제로 사용되고 있는 32비트 API

 

 

IDE : 통합개발환경  

 

RE : 실행환경

Android Studio : V3.1 구글제공 안드로이드 통합개발환경

Eclipse : 자바 기반 통합 개발 환경

J2SE : 자바 플랫폼 스탠더드 에디션. 자바 가상 머신 규격 + API

JRE : (Java SE Runtime Environment)  자바 실행 환경. 자바 프로그램을 시스템에서 실행하기 위한 것.

NetBeans : 자바 기반 자바, 자바스크립트, PHP, C/C++ 등을 개발하기 위한 통합개발환경

PhpStorm : PHP IDE

Xcode : 애플이 개발한 OS X의 개발 툴 모음. 8.3버전 이상 : swift 3

Vagrant Ruby on Rails : 윈도우 루비 개발 환경 구축

Visual Studio : 마이크로소프트 통합 개발 환경

 

 

엔진 

개발자가 필요로 하는 특정 분야의 기능을 모두 다 제공하는 라이브러리

 

Cocos

Mono : 다양한 OS에서 닷넷 프레임워크 기반 개발을 가능하도록 지원 크로스플랫폼 개발도구. C#과 CLI 기반이며.Net 오픈소스기반이므로 .Net의 최신기술을 이용할 수 없다.

Template_ (템플릿 언더바)

 : MVC패턴 방식을 아주 쉽게 적용할 수 있고 편리하게 프로젝트를 진행할 수 있게 만들어 주는 템플릿엔진입니다.

Unity Mono : 엔진 기반 -> 정체된 .Net 기술

 

 

프레임워크 

라이브러리처럼 단지 함수의 집합이 아닌 함수들이 서로 연결되고, 함수나 컴포넌트를 사용하는 규칙까지 정해진, 아키텍트가 포함

 

Backbone.js : 자바 스크립트 프레임워크

플러터 : AOS, iOS에서 네이티브 인터페이스를 구축하기 위한 크로스 플랫폼 모바일 앱개발 프레임워크

Rails 

Spring : 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크. 동적인 웹사이트 개발

MyBatis (마이바티스)객체 지향 언어의 자바의 관계형 데이터 베이스 프로그래밍을 보다 쉽게 도와주는 프레임워크. MyBatis는 JDBC를 보다 편하게 사용하기 위해 개발

JDBC : 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 API

 

관련포스트

 

 

플랫폼

응용 프로그램이 동작하는 환경을 제공

그 자체로서 완성된 하나의 시스템. 운영체제로 라이브러리나 엔진을 포함

 

쿠버네티스 (Kubernetes) : 리눅스 컨테이너 작업을 자동화하는 오픈소스 플랫폼

 

 

OS : 운영체제

 

플랫폼과의 차이 : 하드웨어 자원의 관리를 맡는다

.NET 확장성 생성 언어(XML)와 단순 객체 접근 프로토콜(SOAP)을 기반으로 한 통합 웹 서비스 플랫폼

 

 

닷넷

.NET 툴ReSharper .NET 개발자를 위한 생산성 향상 툴, 코드 품질 분석, 코드 생성, 리펙토링.Visual Assist Visual Studio 용 C/C++, C#을 위한 코드 자동화

유닉스 OS 계열 : 솔라리스, 맥 OS X, 리눅스, BSD

리눅스 OS 계열 : CentOS 업스트림 소스인 레드햇 엔터프라이즈 리눅스와 완벽하게 호환되는 무료 기업용 컴퓨팅 플랫폼. 레드햇 엔터프라이즈 리눅스 레드햇이 개발하여 판매하고 있는 상용 리눅스 배포판

윈도우 OS

 

기타

 

데브옵스 (Dev-Ops) : 개발과 운영을 결합한 혼성어로 소프트웨어 개발 방법론. 개발 담당자와 운영 담당자가 연계하여 협력하는 개발 방법론

 

- 깃허브 : 소스 제어 관리
- 젠킨스 : 지속적 통합
- 나기오스 : 경고 관리 및 모니터링
- 도커 : 컨테이너 관리
- 엘라스틱 서치 :  로그 분석
- 아이싱어 : 분산 모니터링
- 세프 - 설정 관리

 

반응형

'컴퓨터공학 > 개발환경' 카테고리의 다른 글

버전관리 | SourceTree  (0) 2020.01.16
에디터 | ATOM  (0) 2019.12.16
개발환경 | 웹프레임워크의 종류  (0) 2019.11.21
개발환경 | 프로그래밍 언어의 분류  (0) 2019.11.21
버전관리 | Git  (0) 2019.09.26
에디터 | SublimeText3  (0) 2019.04.26
버전관리 | Github (깃허브) 사용법  (0) 2019.04.26
개발환경 | 서버의 종류  (0) 2018.09.19

댓글