Re: [討論] 請大家聊聊 JavaScript的缺陷
禁不住好奇心的我終究還是去看一下 Svelte,
原來它是個反 React、反 Vue、反前端在瀏覽器動態解析樣板的框架兼開發工具。
它讓你在開發時期能夠先以 js 程式碼定義資料,
或是用它提供給你的特殊語法指示產生 html、css 等內容的邏輯,
接著它會依據你寫的 js 和特殊語法幫你產生 html 等資源並填充內容,
最後你再發佈這些資源到使用者的瀏覽器上……
咦…… 等等,這概念怎麼似曾相識啊?
這不就是古早 jsp、asp、php 時代後端吐網頁給瀏覽器的工作模式嗎?
前端從 jQuery 之後的 prototype、backbone 時代開始漸漸與後端分家,
衍生出 angular、react、vue 等函式庫,後來為了同時解決 SPA 和 SEO 的問題
又發展出令後端會心一笑的「server-side rendering」術語。
現在前端竟有人「標新立異」地發展出與 jsp、asp、php 概念相近的 Svelte。
真是太諷刺了前端,你離開你後端繞了一大圈,
最後寫出來的程式竟然是你不想寫的,後端的程式,
所以說呢,人心最後終究是要回到故鄉來的,
這個四千里長江的盡頭上海,或許正是你的極限也說不定。
Welcome home~ <3
小弟愚魯,除了 CDN 那邊的運作模式可能會有些不同,
以及後端伺服器執行時不用為樣板暖機以外,
實在不太懂這東西在用起來跟傳統後端樣板科技有多大不同啊~
--
這就跟我剛看到elm 有種我跑回去寫 GUI 的感覺一樣
一切只為了人類等那幾秒reload
應該是說不想等
SSR正是解決SPA加載時空白時間,先有個東西給人看,免得
有些人等著等著,耐心都等沒了,直接索性離開呢。
笑了,很幽默
覺得沒什麼不同就回去寫template語言囉
我主管都說給使用者看的就叫前端 給管理者看的頁面
都叫後端 所以 svelte 還是前端無誤
覺得你好像有點誤會, 推薦你可以看該作者的演講https://you
tu.be/AdNJ3fydeao
他真的很屌,呢呢喃喃在它的語法和它生成的程式碼之間來來去去, 卻是少數讓我花了幾分鐘仍看不出有什麼重大突破的框架。 他就是想進一步改善前端開發者在意的幾項議題,例如讓前端開發時再少寫一點程式碼, 然後輸出的程式碼更簡短, 這樣要是你前端軟體規模夠大,那或許真能為團隊帶來足夠的好處,但代價是什麼? 叫前端再多學一種語言 ─ svelte script 以及他開發出來的工具! 你要同時用 html、css、javascript(或是 ts?)、svelte 語法開發前端模組, 然後再去熟悉他開發的工具了。 呃… 你不累嗎? 不覺得更雜亂了嗎? 逐行除錯的工具要去哪裡找? 怎麼設定? 調整或整合建置與打包工具不麻煩嗎? 抽象洩漏的時候不可怕嗎? 至於一人專案又無營利什麼的就更不用多提了。 你要用這種方式開發 SPA 為何不乾脆直接去用 GWT、flutter ,或是 qt 轉 wasm 那樣 單一語言,單一 programming mode,單一 api 開發前端的東西啊? 這類工具以後就直接生成 wasm 了,到時你根本就不必理會框架生成什麼 js 程式碼, 交給廠商根據你寫的程式碼去最佳化就好。 效能差就罵原廠,真要簡單又效能佳就再回頭寫 js, 不像 svelte 竟然還拿他生成的東西出來當賣點講。 在我看他這方案贏不過目前主流 SPA 函式庫加上程式碼拆分再延遲載入的組合, 或是其他通用語言圖形介面轉 wasm,甚至是妥善模組化的後端樣板。 他就是在標新立異,為不一樣而不一樣,把事情弄得更複雜罷了。
seo問題呢?
你的累跟麻煩是別人的樂趣欸
玩啊~ 又沒說你不能找新玩具 我只是覺得開發者終究還是要讓精力盡可能投注在自己要開發的程式, 而不是用來開發自己要開發的程式之程式。
只能說你不暸解前端,現代前端框架都是想要提供 reactive
機制還有元件化,這兩樣東西已經被證明對開發效率有極大的
幫助,如何擁有這兩者的同時也貼近只用JS 的效能,才是各
個框架努力的目標,是你連目標都沒搞清楚,就別秀下限了。
我若不懂他的限制與他的目標,那怎麼寫得出回給 OhGNM 的第二段內容? 然而開發者終究還是要讓精力盡可能投注在自己要開發的程式, 而不是用來開發自己要開發的程式之程式。 你講的概念又是個已知用火的好例子,早在 react、vue 都沒問世之前, 其他通用語言圖形介面函式庫早就是一個一個元件,有介面內容隨狀態更新的設計了, 現在就只差轉成 wasm 讓瀏覽器可以讀罷了。 你若要那樣四種語言,模組碼與生成碼來回搞,那還真的不如去寫單一語言加 wasm。 看來我可能不懂框架的目標,而你卻是不懂工作的目標啊? 最後附帶一提,他拿了一個 React 的 function 元件 todo list 在講 filter 的繁瑣, 然後說了自己提供的簡化語法。 但我轉頭一想,他為什麼要讓母元件過濾子元件的狀態再去變更 dom tree 結構, 而不是讓子元件自己管自己的狀態, 然後根據母元件給的參數和自己的狀態判斷要不要 display:none 就好? 用它的 filter 語法可以縮短你 filter 的程式碼,但我連 filter 都不用欸~
一堆 local state 和 mutation 會讓你的元件很難 scal
e 吧
其實就是所謂不如單一語言是你自己的偏好而已,很多人就
是喜歡多個領域專用的語言然後湊在一起。
...你的子原件還是要做loop或filter才有辦法顯示
喔對不起我搞錯體的意思了
display none喔 你4不4很久沒寫前端了
樓上剛好反證原生JS沒效率又難用 又一個幫忙證實JS就是垃
圾的證詞
你看看 要是JS原本就好棒棒 會需要那些一拖拉庫的低能函式
庫和框架?所有語言裡就JS最多「補強」 笑死
現在的js並不慢耶,慢的是dom api。我是不會說他多好用
,但就算其他語言你這樣用確定code review不會被定在牆
上嗎?
我只是想說,把這個跟jsp比表示他根本沒搞懂吧,批的很
奇怪
有時候人生就是這樣 語言缺陷多還是很多人用 要學會習慣
之前有想過要用 svelte,但總覺得不如用 Vue
公司產品還是不要亂冒險...side project可以用
參考 https://bit.ly/3l4LEgf 的圖片說明,還真的有像
自己生成畫面與互動元件
完全說出我對 SSR 的心聲。如果說為了 SEO 還勉勉強強可以
理解,為了不想看到那一兩秒不到的 loading 畫面就繞這麼
一大圈實在是……
而且實際上真正的等待時間也沒少啊,一個暮四朝三的概念
就是為了 SEO 啦! 但這點也別怪前端,依我看這其實是 Google 的問題。 Google 早在發展支援 SPA 的爬蟲技術之前就應該先提供一種 API 給前端, 讓前端能夠先快速產生要給搜尋引擎索引的內容, 然後再透過那個 API 通知 Google 它已呈現想給它索引的東西, 接著再產生要給使用者看的完整網頁。 這樣前端就不必非得在伺服器端產生頁面內容才敢送去客戶端。 為什麼有 sitemap 給搜尋引擎看,卻不願在 SPA 的時代提供這種 API 實在很奇怪。
因為這樣就會被偽裝資料啊....要看當然要看真的
就算提供 API 也不代表爬蟲只能解析使用者呼叫 API 之前產生的文件內容啊! Google 可以抽驗網站的內容,看看呼叫 API 前後的資訊是否相似以防欺騙嘛~ 問題是若沒有這種 API,那前端開發者怎麼知道爬蟲能不能等到他呈現好網頁的內容? 於是把原本在前端跑的程式放去後端的奇葩 SSR 不就勢在必行了?
※ 編輯: dream1124 (118.160.95.12 臺灣), 11/07/2020 10:03:13dynamic rendering?
google最新版的效能指標+效能會影響SEO 最後還是要做SSR
論點完全沒沾到 reactive 且看起來完全不懂 FP 帶來的
好處。建議你還是先去學懂了再來批。
"怎麼寫得出回給 OhGNM" 問題是你沒有回到點耶
3
npm 的問題,我試著安裝了一下 因為說是去年7月遇到的,所以我使用 2020/06/30 發佈的 node 12.18.2 搭配 npm 6.14.5 在只有裝 archiver-utils 的情況下,他很平,可能比我婆軟體還平 archiver-utils 底下沒有 node_modules , readable-stream 底下也沒有34
在開始之前,先說個笑話 ※ 引述《keev (a)》之銘言: : 我會試著反駁 互相交流 然而下面這串推文直接被無視 : 推 vi000246: 還要學打包工具 好麻煩 11/03 00:222
聽到你說 C# 一樣有 js 四捨五入的問題,我驚呆了,你肯定沒有嘗試過,沒關係,我幫 你試過了! 真不知道你的自信哪裡來的 我承認浮點數是個棘手的問題,但是有的語言會謹慎處理,有的語言就是隨便處理,事實X
其實我覺得戰場大家自己拉開的亂七八糟, 我也不過就是逐一回覆, autocomplete 我也說了根本不是語言的重點, 是其他人重視,這樣可以說你們在討論缺陷, 我在討論 autocomplete 我也覺得是有趣。3
你完全搞不清楚狀況喔。 dotnet 的 Math.Round() 預設是 四捨六入(五遇到前面為基數才進位)的設計,也就是 銀行家捨入法,也就是第三個參數為 ToEven 模式,我指定 AwayFromZero 是因為想走四 捨五入。 拔掉這個,走四捨六入也行,dotnet 就是照本宣科來,根本沒有你說的浮點數精確錯誤3
JavaScript 的概數運算確實沒有實作 IEEE 754 的標準, IEEE 754 中,Nearest value rounding 的方法有兩種: 1. Banker's rounding - 取到最接近的「偶數」 2. 取到最遠離 0 的數(效率佳) 但搞不清楚狀況的是對該語言不熟就隨便拿一個 function 來做概數的人,1
其實我上一篇已經有提到 Rounding mode 的選擇是關鍵了了, 然後那個不叫四捨六入...... 另外 tofixed 又誰跟你說他是四捨五入了.... 他是用浮點數的定位表示法(fixed-point notation) 計算的, 詳細實作有點囉嗦, 自己翻論文.8
不太認同, 如果今天的task是計算1加到10000 從紙上開始 1 + 2 + 3...一直算到10000可以解決問題 用等差數列的公式也可以解決問題 寫段code直接寫個function讓function可以支援不同的min, max也同樣能解決問題 這些方法都能解決問題?難道他們都是好方法嗎?17
我想 auto complete 可以算是開發工具的部分 (我猜任何語言理論上都可以有 auto complete,所以和語言本身無關) 而且在這篇沒看到原原 Po 提到,暫不討論 : 而且我還是那句話, 你今天碰到 ts 世界以外的模組, : 你是要怎麼 autocomplete 跟省時間.2
project scan 就是需要時間, 你檔案數多到一個程度, 就是慢. webpack 有那麼多 tooltip 再加速效能, 難道是假的. 說真的, 這段話反過來說也是可以還給你的. 連自己的 type 跟 convention 都掌握不好的, 是有什麼好靠邀的. 另外 js 的 autocomplete,
32
[請益] 轉職前端方向見過各位年薪百萬前輩 第一次在此版po文 小弟背景 高職肄業私大文組大五岩壁 年近25 比應屆生還老了 過去就是鄉民口中的垃圾+924
[問卦] 前端、後端、運維 這三個會想學哪一個?聽人家說資訊業比較不看學歷而看實際能力: 如果有機會讓你選擇學習,你會想往哪邊發展? 1.前端工程師: 身為前端工程師,你會從設計師端得到設計稿, 並且運用你的技術把設計轉換為網頁。13
[心得] 為什麼要學 GraphQL?來聊個簡單的議題? 『為什麼要學 GraphQL?』 部落格好讀版: 身為網站工程師,您不能不知道什麼是 GraphQL,這是一個前端跟後端溝通的 API Query 語法,大幅改善了前後端的合作模式,這篇會跟大家介紹為什麼麼要學 GraphQL, 以及整理出三大 GraphQL 優勢,讓大家了解跟傳統 Restful API 有什麼不同。當然不是20
Re: 請益Request爬蟲手機打字不想打太多 一般瀏覽器打開頁面可以分成幾個步驟: 1. 請求 HTML 2. 解析 HTML 並下載 assets (img, css, js) 3. 執行 js15
[討論] angular值得花時間下去學嗎?大家好 小弟最近在家進修 看了一下angular 本身已會angularjs 目前書看到264/801頁13
[請益] 怎麼處理API版本不同的問題?我是後端工程師 要寫API給WEB跟APP前端 WEB跟APP有些API共用有些沒有 後端就只有一個STA版本 也就是說一個版本要同時滿足APP和WEB的需求8
Re: [請益] 如何定義網頁後端┌───┐ │Client│使用者電腦主機, 通常安裝 Browser 瀏覽器 (Firefox, Chrome, Edge, ...) └───┘ │ │6
Re: [請益] 專精前端(或後端)vs全端工程師之前剛好有一份工作是全端,我不知道是否會趨勢化,但全端不一定是一人包前後的案子 事實上那是一份不小的專案,前後端各有數人在開發,甚至客戶 App 也會來串機器 簡單介紹一下那個專案架構 我方開發 web 前端,機器上跑大量 C 的程式,需要把既有 command line 東西視覺化 為了達成雲端操作,所以需要有一個全端來設計 API + SDK2
[請益] 轉職想走全端請益必備技能?目前還在全職上課學習中,這個課程6個月,主要語言是Java後端、Servlet/Jsp/spring/ springmvc/Hibernate/Mysql..等等。 另外Aws/jquery/Ajax/RWD/JavaScript /HTML/css會上一些。 課餘有再自學HTML/JavaScript/css/bootstrap ,js學到動態生成網頁,串接api資料進 去生成網頁。1
Re: 請益Request爬蟲追了一天動漫來回點東西, 轉生公主天才千金好香,槍神畫面好屌 遇到問題時除了試著使用其它工具或做法, 還能做的 - 或許也是應該先做的 - 是瞭解問題。 或許你是後端工程師,對前端不熟,那看看你們公司有沒有前端工程師可以問,