#374151 1개의 스레드 ✕ 해제
이온디
이온디 6개월 전
<style> @import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css'); .page { max-width: 800px; margin: 0 auto; padding: 60px 50px; } … <style> @import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css'); .page { max-width: 800px; margin: 0 auto; padding: 60px 50px; } @media print { .page { padding: 40px; } .page-break { page-break-before: always; } } /* Header */ .header { text-align: center; margin-bottom: 50px; padding-bottom: 40px; border-bottom: 3px solid #2563eb; } .logo { width: 120px; margin-bottom: 20px; } .header h1 { font-size: 32px; font-weight: 700; color: #1a1a1a; margin-bottom: 10px; } .header .subtitle { font-size: 18px; color: #2563eb; font-weight: 500; } .header .company { margin-top: 20px; font-size: 14px; color: #666; } /* Section */ .section { margin-bottom: 45px; } .section h2 { font-size: 22px; font-weight: 700; color: #1a1a1a; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #e5e7eb; } .section h3 { font-size: 18px; font-weight: 600; color: #374151; margin: 25px 0 15px 0; } .section p { margin-bottom: 15px; color: #374151; } /* Problem List */ .problem-list { list-style: none; padding: 0; } .problem-list li { padding: 12px 0 12px 30px; position: relative; border-bottom: 1px solid #f3f4f6; } .problem-list li:before { content: "⚠️"; position: absolute; left: 0; } /* Comparison Table */ .comparison-table { width: 100%; border-collapse: collapse; margin: 20px 0; } .comparison-table th, .comparison-table td { padding: 15px; text-align: left; border: 1px solid #e5e7eb; } .comparison-table th { background: #f8fafc; font-weight: 600; color: #1a1a1a; } .comparison-table td:last-child { background: #eff6ff; color: #1e40af; font-weight: 500; } /* Highlight Box */ .highlight-box { background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%); border-left: 4px solid #2563eb; padding: 25px; margin: 25px 0; border-radius: 0 8px 8px 0; } .highlight-box p { margin: 0; font-size: 16px; color: #1e40af; font-weight: 500; } /* Speed List */ .speed-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin: 20px 0; } .speed-list li { background: #f0fdf4; padding: 15px; border-radius: 8px; text-align: center; border: 1px solid #bbf7d0; } .speed-list li strong { color: #15803d; } /* Demo Table */ .demo-table { width: 100%; border-collapse: collapse; margin: 20px 0; } .demo-table th, .demo-table td { padding: 15px; text-align: left; border-bottom: 1px solid #e5e7eb; } .demo-table th { font-weight: 600; width: 30%; } .demo-table a { color: #2563eb; text-decoration: none; } /* Pricing Card */ .pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 25px 0; } .pricing-card { border: 2px solid #e5e7eb; border-radius: 12px; padding: 25px; text-align: center; } .pricing-card.featured { border-color: #2563eb; background: #eff6ff; } .pricing-card h4 { font-size: 16px; color: #374151; margin-bottom: 10px; } .pricing-card .price { font-size: 28px; font-weight: 700; color: #1a1a1a; margin-bottom: 15px; } .pricing-card .price span { font-size: 14px; font-weight: 400; color: #666; } .pricing-card ul { list-style: none; padding: 0; text-align: left; font-size: 14px; } .pricing-card ul li { padding: 8px 0; padding-left: 20px; position: relative; } .pricing-card ul li:before { content: "✓"; position: absolute; left: 0; color: #2563eb; font-weight: bold; } /* Process */ .process-steps { display: flex; justify-content: space-between; margin: 30px 0; position: relative; } .process-steps:before { content: ""; position: absolute; top: 25px; left: 50px; right: 50px; height: 2px; background: #e5e7eb; } .process-step { text-align: center; position: relative; z-index: 1; } .process-step .number { width: 50px; height: 50px; background: #2563eb; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 18px; margin: 0 auto 10px; } .process-step .label { font-size: 13px; color: #374151; } /* CTA Box */ .cta-box { background: #1e40af; color: #fff; padding: 35px; border-radius: 12px; text-align: center; margin: 30px 0; } .cta-box h3 { color: #fff; font-size: 22px; margin-bottom: 15px; } .cta-box p { color: #bfdbfe; margin-bottom: 10px; } /* About */ .about-list { list-style: none; padding: 0; } .about-list li { padding: 10px 0 10px 30px; position: relative; } .about-list li:before { content: "•"; position: absolute; left: 10px; color: #2563eb; font-size: 20px; } /* Contact */ .contact-box { background: #f8fafc; padding: 30px; border-radius: 12px; text-align: center; } .contact-box h3 { margin-bottom: 20px; } .contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; text-align: left; max-width: 500px; margin: 0 auto; } .contact-item { display: flex; align-items: center; gap: 10px; } .contact-item .icon { width: 24px; text-align: center; } .contact-item a { color: #2563eb; text-decoration: none; } /* Footer */ .footer { margin-top: 50px; padding-top: 20px; border-top: 1px solid #e5e7eb; text-align: center; font-size: 13px; color: #9ca3af; } </style> <div class="page"> <!-- Header --> <div class="header"> <img src="https://eond.com/files/attach/images/441847/2fd362f6524a9e817a49c35d52ff2f9d.svg" alt="EOND Logo" class="logo"> <h1>XE 사이트 현대화 제안서</h1> <div class="subtitle">React 기반 프론트엔드 전환 솔루션</div> <div class="company">이온디(EOND) · XE 전문 개발</div> </div> <!-- Problem Section --> <div class="section"> <h2>문제 인식</h2> <p>XE 기반 사이트를 오래 운영하셨다면 이런 고민이 있으실 겁니다.</p> <ul class="problem-list"> <li>페이지 이동할 때마다 <strong>전체 새로고침</strong>으로 인한 느린 체감 속도</li> <li><strong>모바일 환경</strong>에서의 불편한 사용자 경험</li> <li>"XE는 옛날 기술"이라는 <strong>이미지 문제</strong></li> <li>그렇다고 <strong>데이터 이전</strong>하며 플랫폼 바꾸기엔 부담</li> </ul> </div> <!-- Solution Section --> <div class="section"> <h2>솔루션: XE + React</h2> <p><strong>기존 XE 구조는 그대로, 프론트엔드만 현대화합니다.</strong></p> <table class="comparison-table"> <thead> <tr> <th>구분</th> <th>기존 XE</th> <th>React 전환 후</th> </tr> </thead> <tbody> <tr> <td>페이지 전환</td> <td>매번 새로고침</td> <td><strong>즉시 전환 (SPA)</strong></td> </tr> <tr> <td>체감 속도</td> <td>클릭마다 대기</td> <td><strong>앱처럼 빠름</strong></td> </tr> <tr> <td>모바일 경험</td> <td>기본 반응형</td> <td><strong>네이티브 앱 수준</strong></td> </tr> <tr> <td>기술 이미지</td> <td>레거시 PHP</td> <td><strong>최신 React 스택</strong></td> </tr> </tbody> </table> <h3>왜 가능한가?</h3> <ul class="about-list"> <li>자체 개발한 <strong>XE REST API 모듈</strong> 활용</li> <li>XE 데이터베이스/관리자 기능 <strong>100% 유지</strong></li> <li>프론트엔드만 React로 교체하는 <strong>비파괴적 전환</strong></li> </ul> </div> <!-- Speed Section --> <div class="section"> <h2>체감 속도 차이</h2> <p>React 기반 SPA(Single Page Application)의 특성상:</p> <div class="highlight-box"> <p>초기 로딩 1회 후, 이후 페이지 전환은 거의 즉시 이루어집니다.</p> </div> <ul class="speed-list"> <li>게시판 목록 → 글 상세<br><strong>즉시</strong></li> <li>카테고리 이동<br><strong>즉시</strong></li> <li>검색 결과 표시<br><strong>즉시</strong></li> </ul> <p>기존 XE처럼 매번 서버에서 HTML을 받아오는 방식이 아니라,<br>필요한 데이터만 API로 받아와 화면을 갱신하기 때문입니다.</p> </div> <!-- Demo Section --> <div class="section"> <h2>라이브 데모</h2> <p>실제 React로 전환된 XE 사이트를 직접 체험해보세요.</p> <table class="demo-table"> <tr> <th>메인 사이트</th> <td><a href="https://eond.com">https://eond.com</a></td> </tr> <tr> <th>블로그</th> <td><a href="https://eond.com/blog">https://eond.com/blog</a></td> </tr> <tr> <th>포트폴리오</th> <td><a href="https://eond.com/portfolio">https://eond.com/portfolio</a></td> </tr> </table> <p><strong>직접 클릭해보시면 속도 차이를 체감하실 수 있습니다.</strong></p> </div> <div class="page-break"></div> <!-- Pricing Section --> <div class="section"> <h2>서비스 구성 및 가격</h2> <div class="pricing-grid"> <div class="pricing-card"> <h4>React 스킨 패키지</h4> <div class="price">50만원<span>~</span></div> <ul> <li>React 레이아웃 스킨</li> <li>React 게시판 스킨</li> <li>React 통합검색 스킨</li> <li>설치 가이드 제공</li> </ul> </div> <div class="pricing-card featured"> <h4>전체 사이트 전환</h4> <div class="price">300만원<span>~</span></div> <ul> <li>XE REST API 모듈</li> <li>React 풀 커스터마이징</li> <li>디자인 반영/신규</li> <li>설치 및 세팅 완료</li> <li>유지보수 안내</li> </ul> </div> <div class="pricing-card"> <h4>API 모듈 단독</h4> <div class="price">200만원<span>~</span></div> <ul> <li>XE REST API 모듈</li> <li>API 문서 제공</li> <li>자체 개발팀용</li> </ul> </div> </div> </div> <!-- Process Section --> <div class="section"> <h2>진행 프로세스</h2> <div class="process-steps"> <div class="process-step"> <div class="number">1</div> <div class="label">문의 및 상담</div> </div> <div class="process-step"> <div class="number">2</div> <div class="label">사이트 분석</div> </div> <div class="process-step"> <div class="number">3</div> <div class="label">견적 안내</div> </div> <div class="process-step"> <div class="number">4</div> <div class="label">개발</div> </div> <div class="process-step"> <div class="number">5</div> <div class="label">검수 및 인도</div> </div> </div> </div> <!-- CTA Section --> <div class="cta-box"> <h3>무료 사이트 진단</h3> <p>관심이 있으시다면, 먼저 현재 사이트를 무료로 분석해드립니다.</p> <p>현재 사이트 속도 측정 · React 전환 시 개선 포인트 · 예상 견적 및 일정</p> </div> <!-- About Section --> <div class="section"> <h2>이온디(EOND) 소개</h2> <ul class="about-list"> <li>XE 기반 디지털 제품 <strong>500개 이상</strong> 제작/판매</li> <li>XE 커뮤니티 <strong>15년 이상</strong> 활동</li> <li>React + XE REST API <strong>자체 개발</strong></li> </ul> </div> <!-- Contact Section --> <div class="contact-box"> <h3>연락처</h3> <div class="contact-grid"> <div class="contact-item"> <span class="icon">🌐</span> <a href="https://eond.com">eond.com</a> </div> <div class="contact-item"> <span class="icon">📧</span> <a href="mailto:eond@eond.com">eond@eond.com</a> </div> <div class="contact-item"> <span class="icon">📞</span> <span>0507-1433-0311</span> </div> <div class="contact-item"> <span class="icon">💼</span> <a href="https://eond.com/services">서비스 안내</a> </div> </div> </div> <!-- Footer --> <div class="footer"> © 2024 EOND. All rights reserved. </div> </div>