우리의 모든 애플 리케이션은 PHP mvc이며 클라이언트 측 맨 위에 매우 간단한 js 동작 레이어가 있습니다. 우리는 자바 스크립트를 더 구조화하고 "snippets"에 간단한 동작 (예 : 다른 jquery 플러그인을 모든 곳에서로드)을 실행하도록 요청하는 것을 중단합니다. 우리는 자바 스크립트 MVC 프레임 워크를 사용하지 않고 새로운 앱에 가장 적합한 솔루션을 찾고 있습니다.pushstate "hijax"에 대한 자바 프레임 워크
가장 매력적인 솔루션 중 하나는 Twitter does과 같이 서버 측 렌더링을 계속 유지하는 것입니다. 그들은 이것을 "Hijax + 서버 측 렌더링"이라고 부릅니다. 계약에 의해
는, 우리의 구성 요소가 하나의 DOM 노드에 자신을 첨부 위임 화재를 통해 이벤트를 수신 : 우리는 블로그에서이 따옴표는 우리에게 매우 매력적 자바 스크립트 만에 전체 날려 MVC 프레임 워크가하지 않으려는 DOM 이벤트 및 DOM 이벤트 버블 링을 통해 이러한 이벤트가 다른 구성 요소로 브로드 캐스팅됩니다. [...] 둘째, 모든 구성 요소는 AMD를 사용하여 정의됩니다.
우리는 우리 자신 만의 무언가를 만들려고 노력해 왔지만, 높은 수준의 자바 스크립트 전문 지식이 없으면 우리는이 문제를 해결할 수 없습니다. jquery-pjax 같은 것도 아주 간단한 경우에도 좋은 해결책 인 것 같습니다. 우리가 찾고있는
:
- UI를/데이터 분리 DOM을
- 이벤트 중심의 UI와 loosly 몇 XHR, DEVS는 DOM의 모든 종류에 수신기를 부착 할 수 있도록
거기에 javascript 프레임 워크와 같은 것이 있습니까? pushState
으로 점점 더 많은 주목을 받고 있습니다. 어떤 아이디어?
IMO Twitter의 접근 방식은 상당히 비참합니다. 지난 6 월에 나는 [데모 js 북마크릿] (http://dist.meekostuff.net/meeko-twitter/)과 [article] (http://www.meekostuff.net/blog/Twitter-without-Hashbangs/)을 썼다.) 그들이 mobile.twitter.com을 점진적으로 향상시킴으로써'pushState'로 어떻게 이전 할 수 있었는지 보여줍니다. 내 [HTMLDecor] (http://github.com/meekostuff/HTMLDecor/) js 프레임 워크를 사용했으며 데모는 며칠 밖에 걸리지 않았습니다. 트위터는 몇 달 만에 이주 할 수 있었습니까? –
흥미로운 코멘트 Sean :-) 그러나, 우리는 성능 향상을 기원하기 때문에 js hijax로 옮기지 않습니다. 우리는 때때로 html이 작업을 수행 할 수없는 행동 스크립트가 필요하며 우리는 서버 측 애플리케이션을 최소화하고자합니다. 그것이 우리가 하이 잭스가 우리에게 정말 잘 맞는 것이라고 생각한 이유입니다. 자바 스크립트가 비활성화되면 "이전"전체 페이지 렌더링 된 앱의 대체 버전을 가져와야합니다. 그리고 나는 완전히 "hashbangs가 죽었습니다"라고 동의합니다 : 그들은 유연하지 못하고 진보적 인 향상은 no-go가됩니다 –
그건 새로운 twitter.com의 또 다른 문제점입니다 - js가 비활성화 된 경우에는 트윗 할 방법이 없습니다. 애프터 - 생각으로의 진보적 인 향상. –