33
Web Framework 성공회대학교 SSS 김준수

Web Framework (웹 프레임워크)

Embed Size (px)

Citation preview

Page 1: Web Framework (웹 프레임워크)

Web Framework

성공회대학교SSS 김준수

Page 2: Web Framework (웹 프레임워크)

Framework

명사

1. 뼈대 , 골격 , 틀짜기 , 구조물

2. 구성 , 구조 , 조직 , 체제

Web Framework ?

Page 3: Web Framework (웹 프레임워크)

웹에서 사용하는 여러 라이브러리 등을 묶어서 개발을 편리하게 해주는 도구

ex) 회원가입 , 로그인 , 폼 , DB 연동 등

Web Framework !

Page 4: Web Framework (웹 프레임워크)

장점 ?

구조를 쉽게 짤 수 있게 도와준다 !

단점 ?

프레임 워크도 배워야 한다 ㅠㅠ

Web Framework !

Page 5: Web Framework (웹 프레임워크)

ASP.NET AngularJS

Ruby on Rails Django

Meteor Laravel

Spring Express

CodeIgniter XE(XpressEngine)

전자정부프레임워크

많이 사용하는 Web Framework

Page 6: Web Framework (웹 프레임워크)
Page 7: Web Framework (웹 프레임워크)

PHP

Java

JavaScript

C#

Python

Ruby

프로그래밍 언어별 Framework 종류

Page 8: Web Framework (웹 프레임워크)

코드 이그나이터

국내 php 개발 프레임워크중에 가장 유명하고 많이 사용됨

커뮤니티도 잘 되어 있어서 정보 얻기가 수월함

PHP - CodeIgniter

Page 9: Web Framework (웹 프레임워크)

<?php

class Welcome extends CI_Controller {

public function index() {

$this->load->view('welcome_message');

}

}

PHP - CodeIgniter

Page 10: Web Framework (웹 프레임워크)

라라벨

비교적 최근에 나왔음에도 폭발적으로 성장하고 있음

빠른 개발이 가능하다는 점을 장점으로 내세우고 있음

PHP - Laravel

Page 11: Web Framework (웹 프레임워크)

<?php

class Idea extends Eloquent {

public function create() {

//code

}

}

PHP - Laravel

Page 12: Web Framework (웹 프레임워크)

Xpress Engine (CMS)

옛날에 쓰던 제로보드 , 지금은 네이버에서 관리 중

국내의 많은 사이트들이 제로보드와 XE 로 개발 되었음

올해 업데이트 예정된 XE3 에서는 Laravel 을 기반으로 나올 예정

PHP - XE

Page 13: Web Framework (웹 프레임워크)

높은 성능과 보안을 중시했다고 강조함

많이 쓰이지는 않는걸로 보임

PHP - Yii framework

Page 14: Web 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

Page 15: Web Framework (웹 프레임워크)

<?php

use yii\helpers\Html;

?>

<?= Html::encode($message) ?>

PHP - Yii framework

Page 16: Web Framework (웹 프레임워크)

스프링

JAVA 와 JSP 로 이루어져 있고 , 국내에서 많이 씀

우리 학교 소프과 커리큘럼도 이 쪽 위주임

난이도는 다른 프레임 워크보다 높은 편

성능도 빠른 편임

Java - Spring

Page 17: Web Framework (웹 프레임워크)

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";

}

}

Page 18: Web Framework (웹 프레임워크)

국내 한정 프레임워크

국내 JSP, JAVA 점유율이 높은게 바로 이거때문임

국가에서 채택한게 이거다 보니까 국가 사업은 다 이 쪽을 맞추는 편 ..

Java - 전자정부프레임워크

Page 19: Web Framework (웹 프레임워크)

앵귤러 JS

Front-end 프레임 워크

구글이 소유

실시간 반영이라든지 .. 를 처리하기 좋음

MEAN 스택의 A 를 담당하고 있음

Javscript - AngularJS

Page 20: Web Framework (웹 프레임워크)

<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>

Page 21: Web Framework (웹 프레임워크)

익스프레스

Node.js 웹 애플리케이션 프레임워크

빠른 개발에 용이 , 높은 점유율을 가지고 있음

MEAN 스택의 E 임

Javascript - Express

Page 22: Web Framework (웹 프레임워크)

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!');

});

Page 23: Web Framework (웹 프레임워크)

미티어 JS

풀스택 개발 프레임워크

한 방에 해결하려는 프레임워크임

Javascript - METEOR

Page 24: Web Framework (웹 프레임워크)

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 () {

});

}

Page 25: Web Framework (웹 프레임워크)

에이에스피닷넷

MS 에서 주도함

소프과 전선으로 웹프로그래밍 수강하면 배울 수 있음

세계적으로 많이 쓰이는 편임

추가적으로 ASP.NET MVC 도 있음

C# - ASP.NET

Page 26: Web Framework (웹 프레임워크)

<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>

Page 27: Web Framework (웹 프레임워크)

장고 프레임워크

국내외로 많이 쓰이고 있음

쉽고 빠르고 좋은 성능을 보임

Python - Django

Page 28: Web Framework (웹 프레임워크)

from django.http import HttpResponse

def hello_world(request):

return HttpResponse("Hello world!")

Page 29: Web Framework (웹 프레임워크)

루비온레일즈

루비는 레일즈때문에 살았다고 볼만큼 레일즈가 각광 받음

레일즈가 나온이후의 프레임 워크들은 레일즈를 따라 만들었다고 볼만큼 인기 있음

국내외 많이 사용중

Ruby - Ruby on Rails

Page 30: Web Framework (웹 프레임워크)

class SampleController < ApplicationController

def index

render :text => "Hello, world!"

end

end

Page 31: Web Framework (웹 프레임워크)

- 웹프레임워크 소개한거 말고도 진짜 많음

- 국내에서만 할 생각이면 php, jsp 배우면 될 듯

- 해외서비스 , 스타트업이라면 원하는 언어나 시장을 확인해서 선정하면 될듯

- 언어 공부가 힘들면 Javascript 하나만 파셈

- 취약점 없는 프레임워크는 없음

정리

Page 32: Web Framework (웹 프레임워크)

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 에 올라와 있는 질문들

국내외 블로그들 등등 ..

Page 33: Web Framework (웹 프레임워크)

감사합니다