Upload
junsu-kim
View
727
Download
2
Embed Size (px)
Citation preview
Web Framework
성공회대학교SSS 김준수
Framework
명사
1. 뼈대 , 골격 , 틀짜기 , 구조물
2. 구성 , 구조 , 조직 , 체제
Web Framework ?
웹에서 사용하는 여러 라이브러리 등을 묶어서 개발을 편리하게 해주는 도구
ex) 회원가입 , 로그인 , 폼 , DB 연동 등
Web Framework !
장점 ?
구조를 쉽게 짤 수 있게 도와준다 !
단점 ?
프레임 워크도 배워야 한다 ㅠㅠ
Web Framework !
ASP.NET AngularJS
Ruby on Rails Django
Meteor Laravel
Spring Express
CodeIgniter XE(XpressEngine)
전자정부프레임워크
많이 사용하는 Web Framework
PHP
Java
JavaScript
C#
Python
Ruby
프로그래밍 언어별 Framework 종류
코드 이그나이터
국내 php 개발 프레임워크중에 가장 유명하고 많이 사용됨
커뮤니티도 잘 되어 있어서 정보 얻기가 수월함
PHP - CodeIgniter
<?php
class Welcome extends CI_Controller {
public function index() {
$this->load->view('welcome_message');
}
}
PHP - CodeIgniter
라라벨
비교적 최근에 나왔음에도 폭발적으로 성장하고 있음
빠른 개발이 가능하다는 점을 장점으로 내세우고 있음
PHP - Laravel
<?php
class Idea extends Eloquent {
public function create() {
//code
}
}
PHP - Laravel
Xpress Engine (CMS)
옛날에 쓰던 제로보드 , 지금은 네이버에서 관리 중
국내의 많은 사이트들이 제로보드와 XE 로 개발 되었음
올해 업데이트 예정된 XE3 에서는 Laravel 을 기반으로 나올 예정
PHP - XE
이
높은 성능과 보안을 중시했다고 강조함
많이 쓰이지는 않는걸로 보임
PHP - Yii framework
<?php
namespace app\controllers;
use yii\web\Controller;
class SiteController extends Controller {
public function actionSay($message = 'Hello') {
return $this->render('say', ['message' => $message]);
}
}
PHP - Yii framework
<?php
use yii\helpers\Html;
?>
<?= Html::encode($message) ?>
PHP - Yii framework
스프링
JAVA 와 JSP 로 이루어져 있고 , 국내에서 많이 씀
우리 학교 소프과 커리큘럼도 이 쪽 위주임
난이도는 다른 프레임 워크보다 높은 편
성능도 빠른 편임
Java - Spring
package com.tutorialspoint;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.ui.ModelMap;
@Controller
@RequestMapping("/hello")
public class HelloController{
@RequestMapping(method = RequestMethod.GET)
public String printHello(ModelMap model) {
model.addAttribute("message", "Hello Spring MVC Framework!");
return "hello";
}
}
국내 한정 프레임워크
국내 JSP, JAVA 점유율이 높은게 바로 이거때문임
국가에서 채택한게 이거다 보니까 국가 사업은 다 이 쪽을 맞추는 편 ..
Java - 전자정부프레임워크
앵귤러 JS
Front-end 프레임 워크
구글이 소유
실시간 반영이라든지 .. 를 처리하기 좋음
MEAN 스택의 A 를 담당하고 있음
Javscript - AngularJS
<html ng-app>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
</head>
<body>
<div>
<label>Name:</label>
<input type="text" ng-model="yourName" placeholder="Enter a name here">
<hr>
<h1>Hello {{yourName}}!</h1>
</div>
</body>
</html>
익스프레스
Node.js 웹 애플리케이션 프레임워크
빠른 개발에 용이 , 높은 점유율을 가지고 있음
MEAN 스택의 E 임
Javascript - Express
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
미티어 JS
풀스택 개발 프레임워크
한 방에 해결하려는 프레임워크임
Javascript - METEOR
if (Meteor.isClient) {
Session.setDefault('counter', 0);
Template.hello.helpers({
counter: function () {
return Session.get('counter');
}
});
Template.hello.events({
'click button': function () {
Session.set('counter', Session.get('counter') + 1);
}
});
}
if (Meteor.isServer) {
Meteor.startup(function () {
});
}
에이에스피닷넷
MS 에서 주도함
소프과 전선으로 웹프로그래밍 수강하면 배울 수 있음
세계적으로 많이 쓰이는 편임
추가적으로 ASP.NET MVC 도 있음
C# - ASP.NET
<script runat="server">
Sub Page_Load(Sender As Object, E As EventArgs)
HelloWorld.Text = "Hello World!"
End Sub
</script>
<asp:label runat="server" id="HelloWorldLabel"></asp:label>
장고 프레임워크
국내외로 많이 쓰이고 있음
쉽고 빠르고 좋은 성능을 보임
Python - Django
from django.http import HttpResponse
def hello_world(request):
return HttpResponse("Hello world!")
루비온레일즈
루비는 레일즈때문에 살았다고 볼만큼 레일즈가 각광 받음
레일즈가 나온이후의 프레임 워크들은 레일즈를 따라 만들었다고 볼만큼 인기 있음
국내외 많이 사용중
Ruby - Ruby on Rails
class SampleController < ApplicationController
def index
render :text => "Hello, world!"
end
end
- 웹프레임워크 소개한거 말고도 진짜 많음
- 국내에서만 할 생각이면 php, jsp 배우면 될 듯
- 해외서비스 , 스타트업이라면 원하는 언어나 시장을 확인해서 선정하면 될듯
- 언어 공부가 힘들면 Javascript 하나만 파셈
- 취약점 없는 프레임워크는 없음
정리
https://youtu.be/JlwUoHeICvw
http://hotframeworks.com/
http://dovetail.tistory.com/58
http://cimple.postype.com/post/373/
https://www.xpressengine.com/devlog/
http://www.sw-eng.kr/member/customer/Webzine/BoardView.do?boardId=00000000000000038651
https://ko.wikipedia.org/wiki/%EC%A0%84%EC%9E%90%EC%A0%95%EB%B6%80_%ED%91%9C%EC%A4%80%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC
www.nextree.co.kr/p3241/
http://blog.jakeymvc.com/five-reasons-to-love-aspnet5
http://tuwlab.com/ece/26220
https://namu.wiki/w/Ruby%20on%20Rails
http://webframeworks.kr/
https://github.com/KoreaHTML5/webframeworks.kr
이외 각 사이트별 tutorial 및 설명
Runnable 사이트에 올라온 hello world 예제들
Stackoverflow 에 올라와 있는 질문들
국내외 블로그들 등등 ..
감사합니다