본문 바로가기

[IT/Programming]/HTML related

HTTP Server-side Frameworks/Languages 뭘 써야할까?

반응형
# HTTP Server-side Frameworks/Languages 뭘 써야할까? HTTP 서버를 어떤 frameworks 및 어떤 언어로 돌릴지도 꽤 중요한 문제일거라서 정리를 좀 해보려고 함. 그런데 정확한 용어를 모르겠네. Sever framework? Server platform? Server-side language? Server API (Application Programming Interface)? 내가 여기 정리한 것들을 정확히 뭐라고 지칭하는거지??? 그냥 일반적인 programming 언어들 관련해서는 에 정리. ## TOC ## Simple (but bad performance?) frameworks 누구나 간단하게 서버를 돌릴 수 있게 만들어진 framework 들이 많은데, 간단함을 추구하는만큼 performance 면에서는 딸린다는 이야기도 많은듯. 그런데 사용자가 많고 그래서 최적화가 잘된 API 들이 많고, 이런걸 잘 활용하면 performance 도 꽤 향상시킬 수 있긴 하다는듯. 이런 API 들을 가져다 쓰면 당장 개발은 쉽긴 할텐데, 세부적으로 본인이 개발하는거에 맞게 완벽히/꾸준히 최적화하기에는 아무래도 어려운 점이 많을듯. ### PHP (PHP Hypertext Preprocessor. or Personal Home Page tools) PHP for "PHP Hypertext Preprocessor", though originally it was from "Personal Home Page Tools". 참조. 가장 대중적으로 쓰이고 있는 server framework 인듯. APM (Apache server+PHP+MySQL) 같은 종합 페키지로 깔아서 쓰는 경우가 많은듯. ### ASP.NET (Active Server Page) 이건 simple 로 분류하면 안될래나? "Microsoft 사 (Windows 만든 회사) 에서 동적으로 웹 페이지들을 생성하기 위해 개발한 서버 측 스크립트 엔진" 이라고. ASP 는 3.0 이후 버전 출시 계획이 없다는걸로 봐서 죽은 framework 같기도? 대신 ASP.NET 가 ASP 후속으로 나온거라는듯? 이름을 이렇게 지으면 헷갈릴거 같은데 ㅡㅡ. 그냥 같은 이름 쓰고 버전을 올리던가 하지. ".NET" 만 붙이고 다른 framework 인냥 하는거 같기도? "A free web framework for building Web sites and Web applications using HTML, CSS and JavaScript. Create Web APIs, mobile sites and use real-time technologies" http://www.asp.net/ ## Non-blocking I/O (input/output) server frameworks (or Event-driven frameworks) 요즘 서버 개발에서 주목받는 것들이 Non-blocking Input/Output 및 event-driven handling 특성을 가지는 framework 들이다. ### Node.js "Server-side 언어와 Client-side 언어가 같다면 좋은점이 많지 않을까?" 란 아이디어에서 시작한(?) framework? 뭐 저런 아이디어에서 시작한건지, non-blocking I/O 랑 event-driven 특성을 가지는 서버를 만들어 보려고 했는데 이런 특성의 언어가 javascript 라서 client-side 언어랑 같아진건지는 모르겠지만... 아무튼 javascript 로 서버 code 를 짜는 요새 아주 hot 한 framework. 자세한 설명이나 참조할만한 링크들은 참조 로. ### Vert.x 개인적으로 가장 괜찮다고 판단해서 recoeve.net 개발에 써먹고 있는 framework 이기도 함. 자세한 설명이나 참조할만한 링크들은 로. ### Play Framework 이것도 평가가 좋은거 같던데, SCALA 라는 조금 생소한 (최근에 개발된) 언어로 작성해야 제대로 써먹을 수 있는거 같아서 잘 엄두가 안나는 framework .
ps. SCALA 도 연산자 오버로딩이 쉽다느니, machine learning code 만들때 쓰면 좋다느니 하는 이야기를 들은것도 같은데... 정확한 기억인지 잘 모르겠는. 난 그냥 C++ 이나 JAVA 로 충분하고 이 primitive(?) 언어가 가장 강력해 보이는데... 굳이 새로운 언어들 개발하고 하는게 잘 이해가 안될때가... Coding 을 쉽게 하고 싶어서라면 editor 를 잘 만드는 쪽이 언어를 새로 디자인하는 것보단 더 효율이 좋고, 싸게 먹히지 않을래나? =ㅇ=;;; 특히나 database 랑 연결하는 connector 들, API 들도 새로운 언어별로 다 따로 배우고 해야 할텐데, 잘 엄두가 안남.
## Blocking I/O server frameworks Simple 로 분류하긴 좀 미안한 것들은 뭐라고 부류해야 할래나? =ㅇ=;;; 써본게 아니라 comment 할게 거의 없는;; ### SpringMVC (Model View Controller) 우리나라 전자정부 프레임워크 지침에 쓰이는 framework 라는듯? 난 잘 모름. 정부가 특정 framework 쓰라고 하는것도 뭔가 시대에 안맞는거 같은데... 참조 : http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html ### Django 참조 : https://www.djangoproject.com/
djangoproject.com - documentation (en/1.9)
Wiki - Django (web framework)
### Ruby on Rails 이건 server framework 가 아니라 그냥 programming language 중 하나인가? 참조 : http://rubyonrails.org/
Wiki - Ruby on Rails
## Database library (SQL : Structured Query Language / SQL connector) 서버 돌릴때 그냥 매번 똑같은 html 파일만 쏴주는 service 가 아니라면, SQL 등의 database 랑 연결해서 쓰는게 거의 필수적이라고 할 수 있음 kipid's blog :: SQL (Structured Query Language) 을 배워보자, 2014-03-06. JAVA 의 경우 JDBC (Java DataBase Connector) 란 API 를 제공. 나머지 언어들도 비슷한게 있을듯. 이런 API 이용해서 MySQL 같은 database service 들이랑 연계해서 사용해야 함. ## RRA

    General

  1. Wiki - Web application framework
  2. Wiki - Server-side scripting
    // 그닥 많은 정보는 없는듯.
  3. trends.builtwith.com :: Framework Usage Statistics, Statistics for websites using Framework technologies
  4. kipid's blog :: 여러가지 프로그래밍 언어들 (List of programming languages), 2014-01-24
  5. Specific framework

  6. kipid's blog :: Learning PHP, 2014-05-22
  7. kipid's blog :: Learning Vert.x, 2014-05-23
  8. kipid's blog :: Learning Node.js, 2014-05-22
  9. https://www.playframework.com/
반응형