Web appOpen in Telegram

Threadhttps://inertiajs.com/who-is-it-for 這套的想法挺有趣的

18 messages · –
  1. 服
    我對JS以及相關framework沒有很了解, 有些可能不太成熟/菜鳥新人的疑惑。 對JS的記憶還在以前LAMP的時代,當時剛出HTML5, 有一大堆HTML5的實作範例, 是用html5的div tag將畫面位置切分,部份畫面資料是用JS去跟後端要JSON然後render。 切畫面時,其實只是用CSS移動div,onFocus的div如果沒資料就去要JSON,有資料就不動作。 (我自已也有用過HTML5/JS/CSS,無frameowrk實作過這樣的網站) 然後先前看大家在討論CSR/SSR的framework, 我去google後,發現CSR只做了一半上述的行為, 還有lazy loading、code splitting的相關分類。 直到看到這個inertia,才感覺7/8年前就已經有的概念,有了完整的framework實作, 但看起來這樣的實作似乎不是業界常態? 好奇想問是我對SSR/CSR的觀念認知錯了?還是哪裡有什麼誤會或錯誤?
    1. M
      首先你對於傳統開發的認知沒問題,這邊也不少人是從最早的 HTML / JS / PHP 大雜燴的時代走過來的,包含我就是 至於這個 直到看到這個inertia,才感覺7/8年前就已經有的概念,有了完整的framework實作, 但看起來這樣的實作似乎不是業界常態? 他的好處很明顯,前端用類似後端的方式渲染,提升了前後的的耦合度也方便了 web 前端開發。 但他的缺點也很明顯,那移動端需要的後端怎麼辦?是不是又得另外開發API? 想通這點你就會想通為何現代開發方式(CSR)逐漸變成主流 也就是說,如果你的應用只有 web,那採用 inertia 方案完全沒有問題,但你的方案包含移動端 app 就不是那麼合適了
      1. 服
        hmm 應該是我沒表達好, 我說的完整是指lazy loading跟code splitting的部份, 我google到的都是說CSR會全部先loading完(call api要資料),load完之前是空白。 所以雖然inertia綁者SSR,但有作好lazy loading的部份。 所以這邊的誤會可能是我感覺目前CSR framework沒有做好這點,但其實有?
        1. M
          loading 跟 call api 完全沒有關係喔 首先 CRS 的 resource 會先 loading 完,但不一定包含預先 call api,而是動態決定,比如使用者還沒有登入,自然不會先去 call login api。 什麼方式和後端加載資料則要看前端的定義,比如這個頁面的列表渲染就會call list 來渲染 ui li,那麼當前端渲染到 ui li時即會 call api 取得資料進行渲染。 而登入則是檢查到頁面需要登入而使用者尚未登入,也只是先route 到sign in page 提示使用者點擊登入。 也就是說何時向後端取得資料,完全是看前端的設計。 lazy-load 則是渲染頁面有需要用的部分才進行 loading,主要是為了避免首頁即 loading 全部的 SAP 導致首頁 loading 過慢問題
          1. 服
            如果說lazy loading是design的問題, 所以在剛進入頁面,不切換的情況下,SSR跟CSR要loading的內容應該是一樣,(對吧? 那為何CSR會有缺點是loading完之前是空白的問題?
            1. M
              因為 CSR 是loading 完才會渲染頁面(渲染前是只有骨架內容,而這也是被詬病的 SEO 問題由來) 但 SSR 卻是先將頁面渲染的內容處理好後,直接 output 頁面完整內容。也就是loading 完成=渲染完成
              1. F
                一般來說,現在指的ssr還有framework把ssr產生的dom接手切換到csr模式的部分
                1. M
                  新的 SSR framework 嗎?這邊我就沒有知識點了
              2. 服
                有沒有推薦的link、網站、YT有詳細介紹這一段的過程? 我對這部份的骨架內容的意思、render的行為有蠻多困惑, 應該是哪個細節認知不對,才讓我總覺得第一頁應該時間相同。
                  1. M
                    如果你熟 PHP laravel,那麼拿 laravel-mix 來實現 laravel-mix + vue,由 laravel blade 實現 SSR,再由 Vue.js + app.js 實現CSR。 這個實作的過程應該就會令你印象深刻 檢視原始碼 前者 載入完成即渲染完成 <div> <ul> <li>1</li> <li>2</li> <li>3</li> </ul> </div> 後者 載入完成後才開始渲染 <div id="app"> <!-- route outlet --> <!-- component matched by the route will render here --> <router-view></router-view> </div>
                    1. 服
                      下面範例簡單易懂,我知道我哪裡想錯了。
    2. 李
      inertia 的意义在于可以让你用后端的 route 直接指定前端的组件,并且传数据给组件。这里的前端组件,不是简单的静态 template,而是 vue single page app。
JJavaScript/Node.js 台灣JavaScript/Node.js 台灣@JavaScriptTw · group · Tech
1 999members4writing in 30 days
Venue feed Open in Telegram

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · Index limits · Remove a page · Catalog · Search · How we count