HTML을 사용하여 대화형 웹 애플리케이션 구축

학습 목표: HTML의 기본 개념, 특성 및 사용법을 이해하고 HTML을 사용하여 대화형 웹 응용 프로그램을 만들 수 있습니다.

학습내용:
1.htmx란 무엇인가요?
   - htmx는 대화형 웹 애플리케이션을 구축하기 위한 JavaScript 라이브러리입니다.
   - HTML을 선언적 및 대화형 언어로 확장하여 개발자가 간단한 HTML 태그를 사용하여 페이지를 새로 고치지 않고도 동적 페이지 업데이트, 실시간 데이터 로드 및 양식 제출을 수행할 수 있습니다.

2. htmx의 특징:
   - 경량: htmx 라이브러리는 매우 작으며 크기가 몇 KB에 불과하므로 빠르게 로드하고 사용할 수 있습니다.
   - 사용하기 쉬움: htmx는 HTML 속성을 사용하여 복잡한 JavaScript 코드를 작성하지 않고도 대화형 동작을 정의합니다.
   - 강력한 호환성: htmx는 모든 백엔드 기술(예: Python, Ruby, Java 등) 및 프런트엔드 프레임워크(예: React, Vue 등)와 함께 사용할 수 있습니다.
   - 높은 유연성: htmx는 다양한 옵션과 구성을 제공하므로 개발자는 필요에 따라 상호 작용 동작을 사용자 정의할 수 있습니다.

3. htmx의 기본 사용법:
   - 속성: htmx는 HTML 속성을 사용하여 대화형 동작을 정의합니다. 일반적으로 사용되는 속성에는 `hx-get`, `hx-post`, `hx-swap` 등이 있습니다.
   - 이벤트: htmx는 'hx-click', 'hx-change' 등과 같은 다양한 이벤트를 지원하여 페이지 업데이트나 데이터 로드를 실행할 수 있습니다.
   - 데이터 업데이트: htmx는 AJAX 요청을 통해 서버로부터 데이터를 얻고 전체 페이지를 새로 고치지 않고도 페이지의 지정된 영역에 데이터를 업데이트할 수 있습니다.
   - 양식 제출: htmx는 페이지를 새로 고치지 않고도 양식 제출을 구현할 수 있습니다. 양식 데이터는 'hx-post' 속성을 통해 서버로 전송될 수 있으며, 반환된 데이터는 페이지에서 업데이트될 수 있습니다.

예를 들어, 다음은 html을 사용한 간단한 예입니다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>htmx 任务列表示例</title>
    <!-- 引入 htmx 库 -->
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/htmx.js"></script>
</head>
<body>
    <h1>任务列表</h1>

    <!-- 添加任务表单 -->
    <form id="add-task-form" hx-post="/add-task" hx-target="#task-list">
        <input type="text" name="task" placeholder="添加新任务" required>
        <button type="submit">添加</button>
    </form>

    <!-- 任务列表 -->
    <ul id="task-list">
        <!-- 任务项将在这里动态添加 -->
    </ul>

    <!-- htmx 用于处理点击事件 -->
    <script>
        // 当页面加载时,初始化 htmx
        document.addEventListener('DOMContentLoaded', function () {
            htmx.engine();
        });
    </script>
</body>
</html>

이 예에서는 작업을 추가하는 양식과 작업 목록이 포함된 간단한 작업 목록 애플리케이션을 만듭니다. HTML을 사용하면 이러한 요소에 상호작용성을 쉽게 추가할 수 있습니다.

서버 측 코드(Python 및 Flask 프레임워크 가정):

from flask import Flask, request, render_template_string

app = Flask(__name__)

# 初始任务列表
tasks = []

@app.route('/')
def index():
    return render_template_string(open('index.html').read())

@app.route('/add-task', methods=['POST'])
def add_task():
    task = request.form.get('task')
    if task:
        tasks.append(task)
    return render_template_string('<li>{
   
   { task }}</li>', task=task)

if __name__ == '__main__':
    app.run(debug=True)

이 간단한 예는 HTML을 사용하여 양식 제출을 처리하고 작업 목록을 동적으로 업데이트하는 방법을 보여줍니다. 사용자가 작업 추가 양식에 작업을 입력하고 "추가" 버튼을 클릭하면 htmx는 작업을 서버로 보내고 전체 페이지를 새로 고치지 않고 새 작업 항목을 작업 목록에 추가합니다. 이 접근 방식은 프런트 엔드 JavaScript 코드 작성을 줄이면서 사용자 경험을 크게 향상시킬 수 있습니다. 서버 측 코드는 Flask 프레임워크를 사용하여 요청 및 응답을 처리합니다.

HTML의 기본 개념, 기능 및 사용법을 배우고 익히면 간단한 HTML 태그를 사용하여 대화형 웹 애플리케이션을 만들고 사용자 경험을 향상시키며 페이지 새로 고침의 필요성을 줄일 수 있습니다.

추천

출처blog.csdn.net/canduecho/article/details/132639380