단일 페이지 애플리케이션이(SPA) 필요할까? > 개발관련
개발관련

단일 페이지 애플리케이션이(SPA) 필요할까?

조회 212회 댓글 0건
  • 현재 페이지 주소 복사
  • 페이스북으로 공유
  • X 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기


대표적인 프론트엔드 리엑트 관련된 모든 것들에 대한 것인데요.

어떤것을 사용할때는 그것이 왜? 만들어 졌고 사용하지 않으면 어떤 문제가 있을 수 있고 사용했을때의 장점을 알고 있는 것이 좋습니다.

요즘 보면 안해도 될것들을 하는것들이 보입니다.


물론 내가 취업을 하는데 필요하고 이직을 하는데 있어 필요하면 위와 관계 없이 하는것에 대해 뭐라 할 수 없습니다.

경험을 쌓기 위해서 일부러 업무를 이런것 하는것은 좀 ....


보통의 일반 사이트에선 SPA가 필요가 없어요.

차라리 없는게 더 좋습니다. 초기 로딩속도 느릴 수 밖에 없는 방식이기 때문에 그렇습니다.

뒤로가기 문제가 왜? 있을까요. SPA 이니까 그렇잖아요.



▷ SPA 장점

- 빠른 사용자 경험: 페이지 전환 없이 필요한 데이터만 받아오므로 네이티브 앱처럼 부드러운 사용감을 제공합니다.

- 서버 부하 감소: 초기 로딩 후에는 데이터만 주고받아 서버 요청이 줄어들고, API 서버로 역할을 분리할 수 있습니다.

- 개발 생산성: 컴포넌트 재사용이 쉽고, 프론트엔드와 백엔드를 분리하여 독립적으로 개발할 수 있습니다.

- 풍부한 인터랙션: 복잡한 UI/UX 구현이 용이하고, 실시간 업데이트나 애니메이션을 자연스럽게 처리할 수 있습니다.


▷ 싱글페이지 단점

- 초기 로딩 시간: 모든 자바스크립트를 한 번에 받아야 해서 첫 화면이 늦게 뜹니다. 번들 크기가 클수록 더 심각합니다.

- SEO 문제: 검색엔진이 자바스크립트로 생성된 콘텐츠를 제대로 읽지 못해 검색 노출이 어렵습니다.

- 브라우저 호환성: 오래된 브라우저에서는 작동하지 않거나 성능이 크게 떨어질 수 있습니다.

- 메모리 관리: 페이지 전환 없이 계속 실행되므로 메모리 누수가 발생하기 쉽고, 장시간 사용 시 느려질 수 있습니다.

- 과도한 복잡성: 간단한 사이트에도 무거운 프레임워크를 사용하면 오히려 개발과 유지보수가 어려워집니다.

- 보안 이슈: 모든 로직이 클라이언트에 노출되어 민감한 코드를 숨기기 어렵습니다.


---


 


언어자체가 템플릿인 언어가 있는데 PHP 같은 언어 입니다.

그렇기 때문에 PHP개발하신분이 그러잖아요 언어자체가 템플릿인데 왜? 또 템플릿을 거기서 사용하냐고...

웹의 특성상 템플릿 형태로 되어야 하니 그렇게 만들어진거죠.


리엑트는 페북에서 나왔는데 거기 특징이 있는데 하나의 어플케이션 같은거라서 그런게 필요한데 일반사이트는 그런 요소가 많이 들어가 있지 않습니다.

배보다 배꼼이 더 크면 좋은가요?


예전에 웹프로그램 처음 할때 폼으로 데이터를 넘기면 힌색 화면에 자바스크립트 경고가 나왔는데 ... 알아보니 프레임 처리 하면 되었습니다.

난 현재 화면 그대로인 상태에서 오류메시지가 나왔으면 좋겠는데 말이죠.


frame 설정을 하단에 1픽셀짜리 바탕화면과 같은것 -> iframe -> AJAX 이런 형태로 흘렀습니다.


그런데 말입니다. 이거 웹사이트에서 유연하게 보여주면 좋지만 치명적인 부분은 아닙니다.

물론 AJAX로 처리 하고 클릭하면 모래시계도 보여주고 스피너도 버튼에 돌고 하면 당연히 좋습니다.


* 아래 관련된 영상 보면 좋습니다.

Nextjs 가 등장한 기술적인 배경(프론트엔드 개발 역사와 함께 살펴보기)

https://www.youtube.com/watch?v=EwY6hbAxdV8


(Next.js 0강) 요즘 프론트엔드만으로 먹고살기 힘든 이유

https://www.youtube.com/watch?v=jYJ3ygUfPrU


그리고 아래는 저도 다른것 보고 그랬는데 할 필요가 없이 기존것으로 해도 되는데 왜들 그럴까 싶어 다시 한번 검토하기 위해서 확인해 봤던 사항입니다.

PHP 웹사이트 구축시 오래된 방식의 문제점은 > PHP


  • 현재 페이지 주소 복사
  • 페이스북으로 공유
  • X 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기
전체 234건 1 페이지
  • profile_image 오늘 정말 간단한 프로그램인데.json 결과를 입력만 시키면 되는 그런 프로그램 입니다.그런데 DB 테이블 만들어 달라고 했더니 정규화 시키고 쪼개서 해서 여러개 만들고프로그램은 복잡 복잡 복잡하게 만들어서 제가 간단하게 지침서 만들어서 다시 작성 했습니다. 의자가 필요하면 간단하게 의자만 만들면 되지 복잡할 필요가 없습니다.▷ 바이브코딩이란2025년 초 안드레이 카파시가 만든 말로 코드를 직접 읽고 이해하는 대신 — 자연어로 원하는 걸 설명하고 → AI가 짜주면 → 돌려보고 → 에러 나면 그대로 붙여넣고 → 될 때까지 반복하는 방식인데 핵심 태도는 "코드가 존재한다는 사실 자체를 잊는다"는 것으로 프…
  • profile_image 자세한 내용은 아래 영상 보시면 잘 나와 있습니다.모두의창업, 유출 사고? 무슨 일인가. 문제있는 개발 패턴들 결론은 간단한데 백엔드에 불편해도 반드시 필요한것만 요청하고 보내주면 된다.아래에서 보통이란것은 대체로 그랬다는 것입니다.그리고 사람은 예전에 사용하던 방식하면 구닥다리 라고 생각하는 잘못된 편견을 가지고 있을까요 없을까요?▷ 예전 개발 방식은- 보통 백엔드에서 모든 것을 만들어 보내주는 방식▷ 요즘은 - 다 그런것은 아니지만- 리엑트 같은 프론트엔드 개발자가 별도 있어서 서버에서 중요데이터만 받아서 보여주는 방식- 여기서 문제가 생긴것인데 프론트엔드와 백엔드 개발자간 데이터 필요한것만 보내지 않고 다…
  • profile_image RealVNC는 원클릭 접속할 수 있도록 편리하게 되어 있는데 UltraVNC 는 뷰어 클릭해서 등록된 서버 선택해야 하는 불편함이 있습니다.이 부분을 아래와 같은 방법으로 일부 해소가 가능 합니다.1) C:\Users\로그인계정\AppData\Roaming\UltraVNC 파일을 복사 바탕화면에 두고 사용원하는 접속 서버 .vnc 파일을 바탕화면으로 복사 해서 원클릭 하여 사용하면 됩니다.중요한 부분이 있는데 .vnc 파일을 열어서 8bit=1 부분으로 되어 있으면 0으로 바꿔주세요.화면에 표현하지 못하는 경우도 있고 그렇기 때문에 .vnc 파일 클릭하는 경우만 파란색으로 나오고 이상하다면 …
  • profile_image 코드자동완성 테스트한 vscode용 확장 프로그램 continue 다운로드 사용자가 엄청나게 많은데 ... 결론 부터 말하면 실패입니다. 아래 설정이 약간 잘못 되었을수 있겠지만.채팅은 잘 되는데 코드 자동완성이 잘 안됩니다.하지만 테스트 하고 싶은분 그리고 제가 나중에 다시 테스트 해볼 경우 필요할 수 있어 올리는 글입니다. 위 이미지에서 Main Config 라고 마우스 올리면 그 옆에 톱니가 나오는데 그걸 클릭해야 합니다.잘못 만들어져서 화면이 겹치는 문제가 있습니다.제 설정은 위 이미지에 대한것은 아래와 같습니다.name: lmstudioversion: 1.0.0schema: v1models:&…
  • profile_image 내가 준 먹이를 소화해서 다른 사용자에게 주면 곤란한 문제가 생길것 같아 직접 이용해 보기로 했습니다.결론 부터 말하면 잘하는 인공두뇌에 먹이 주면서 사용하는것이 낳으니 테스트 해보고 싶으신 분들을 위해서 남기는 글 입니다.사용한 확장 프로그램    twinny - AI Code Completion and Chat    Identifier: rjmacarthy.twinny 위처럼 설정하고 자신에 맞게 모델이나 IP주소 같은것만 변경해주면 됩니다.전 UI가 좋은 LM스튜디오 사용.이걸 빠르게 사용하려면 애플 실리콘 M5 Max 노트북 16인치 추천합니다.램은 최소 64G 가능하…
  • profile_image 무슨일인지 업그레이드 실패까지 생겼는데.... 왠지 모르지만 안되는게 참 많습니다.이런 경우 다시 설치하면 되긴 합니다.아마도 추측은 초기 설치 할 때 전체 사용자 선택을 해서 설치 했는데 업그레이드는 현재 유저 기준으로 해서 그런것이 아닌가 싶습니다. old 라고 된것 삭제 삭제하고new_ 이렇게된것 new_ 삭제하고 다시 실행하고 vscode에서 Help > Check for Updates 해주고 다시 시작하면 됩니다.이때 작업표시줄에 고정한게 있으면 그것 클릭하지 말고(삭제하고) 새로 설치된 아이콘 클릭해서 실행 하면됩니다.
  • profile_image vscode 사용하면 안되는것이 참 많지요.잘 되던것도 안되고 무료가 이런게 문제인데... 유료로 갈아 타려 했는데 매달 비용발생 때문에 ...어떤 것은 그것을 또 배워야 되서 할일도 못하는데 공부해야 되고 ...우선 그때 그때 수정해서 사용합니다.▷ 파일이 열리지 않는 원인은?natizyskunk SFTP 확장(1.16.3)에 내장된 구버전 ssh2 라이브러리가 Node.js의 util 모듈에서 isDate 함수를 가져다 쓰는데최신 VS Code 1.123.0이 이전에 제공되던 'isDate' 함수를 제거하면서 잘 작동하던 프로그램에 문제가 발생그래서 SFTP 연결(목록 조회)은 되지만 실제로 파일을 열거나 다운로드할…

상업적 이용 금지. 컨텐츠는 개인 용도로만 사용이 가능 합니다.