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

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

조회 183회 댓글 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 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기
전체 231건 1 페이지
  • 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 연결(목록 조회)은 되지만 실제로 파일을 열거나 다운로드할…
  • profile_image 기본적인 특징은 아래와 같으며 사용 가능한지 어떤지 테스트 하면서 정리(테스트) 한것을 다음에 필요 할 수 있어 기록해 둡니다.이 파일 디비는 동시 처리하는데 문제가 있어 동시 처리 사용하고 싶으면 MySQL 같은 것 사용해야 됩니다.이게 MySQL과 명령이 비슷한것인가요? ANSI SQL 이라서 그런가요? 후자 인데요.SQL 문법은 ANSI SQL 나머지 CLI 도구 명령들은 각 DBMS에 따라 다른 경우라고 보면 됨.  - 파일 하나가 곧 데이터베이스 (.db, .sqlite). 그렇기 때문에 DBMS서버 필요 없는 경우 유용함.- 서버 없이 동작하는 경량 임베디드 RDBMS- Android, iO…
  • profile_image 하네스 엔지니어링 결론부터 말하면 개발 기획자는 별도로 할것 없이 기존에 하던데로 그냥 하면 됩니다.이것, 저것, 문제가많네~ 이런식으로 특정하지 않는 형태로 이쁘게 만들어줘 하는 방식이 문제가 있는것으로 이렇게 언급하는 방식은 현재 사람도 의도 파악을 정확히 모르기 때문에 원하는 결과가 나오지 않습니다.문제가 많아 - 어떤 문제가 많은지 구첵적으로 알려 줘야 해결 가능.이렇게 해석해도 큰 무리가 없는것으로 어떤 문제가 있는지 명확하게 알려줘야 개선이 되고 같은 문제가 생기지 않습니다. 예를 들면.1) 상태값 기록을 위해서 테이블에 시간과 현재 상태 기록해서 체크하는것을 만들어 달라고 했더니 만들긴 잘 만들었습…
  • profile_image 이건 백엔드는 데이터베이스등 서버개발이 유용한 측면들이 많죠.테스트 서버에서 작업하고 git으로 올리는 방법도 있고 git은 백업용도로만 사용하고 다중서버에 직접 올리는 방법도 있습니다.로컬의 편리한 UI + 서버의 강력한 자원 및 환경이 두 가지 토끼를 모두 잡을 수 있는 기능으로 저사양 노트북을 사용하더라도 강력한 클라우드 서버에 연결만 되어 있다면 그 서버의 성능을 내 것처럼 활용할 수 있게 됩니다.사용해 보시면 이런 좋은것을 이제 알았다니 할것입니다. 1. 로컬 환경과의 완벽한 분리 (Clean Local Machine)가장 큰 장점은 내 컴퓨터에 아무것도 설치할 필요가 없다는 것입니다.- 의존성 관리:…

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