[ Environment ] 개발 환경에 대해...
MS-DOS때 부터 프로그래머의 길을 걷기 시작해 오늘날까지, 주로 접해왔던 언어는 C, Delphi(Object pascal), Visual Basic, Shell, SQL, Python, JAVA 찔끔, PHP랑 ASP도 찔끔, 최근에는 Flutter(dart) 를 주로 사용한다.
Delphi는 Ver1.0때 부터 꽤 오랜기간 사용했었고, 지금까지도 그래왔지만 DB를 사용하지 않는 프로젝트는 거의 없다고 봐야 하니 SQL은 꾸준히 손 놓을 수 없는 언어이다. 과거에는 C/S 환경의 3Tier 환경이 대세였기에 규모가 좀 되는 프로젝트는 Unix 와 Oracle(Pro-C)은 필수였기에 자연스레 손에 익혔던 것 같다.
옛날얘기는 이쯤에서 접고......
요즘 내가 활용하는 개발환경에 대해 잠깐 얘기해 보고자 한다. 먹고 살기 위해서라도 모바일 쪽을 안할 수 는 없겠다 싶어서 AndroidStudio, JAVA 그리고 iOS 개발을 위해 Object-C, Swift 까지 잠깐 접해 봤으나 괜시리 내 코딩 성향과는 맞지 않는 언어인 듯 하고 어려워서 인지 약간의 거부감이 들어 일찌감치 접었다. 그러던 와중에 크로스플랫폼 중 Flutter 라는 녀석을 몇년전에 처음 접해 보고 받은 느낌을 설명해 보자면, 내가 Delphi 초기 버전을 구해서 IDE 환경의 프로그램을 처음 실행시켜보던 그때의 느낌이 살짝 들었다. Dart라는 언어를 처음 접하면서도 필자가 포기할 수 없었던 중요한 챠밍포인트는 바로 크로스플랫폼 프레임웤 이라는 점과 구글의 인지도, 그리고 Material Design 이었다.
(델파이로 안드로이드 & iOS 앱을 Tutorial 해본 경험에 비춰보면, 크로스플랫폼 플러터로 모바일을 지원하는 방식은 완전히 신세계였다)
그래서 지금 현재의 개발환경은 다음과 같다.
CLIENT : FLUTTER (DART & SQLiTE)
Ubuntu 에 DOCKER 로 서버 환경 구축 (Container)
MariaDB (or MySQL), REDIS
NginX (Letsencript SSL 적용)
Python (Restful API 제작)
지금은 Flutter 가 WEB 까지도 지원 영역이 넓어 졌으니 웹 프로그래밍이 부족한 필자는 WEB개발도 도전 해 볼 계획이다.
Flutter 와 Docker 면 웬만한 환경은 커버 가능하리라 보고 있으며, 특히 도커 환경만 잘 구축해 놓으면 서비스 확장도 무척 심플하기 때문에 확장성에서도 무척 유리한 점이 많으니, Start up 이나 소규모의 프로젝트라면 충분히 선택할 만한 개발환경으로 부족함이 없을 듯 하다.