91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用開發本地tcpip程序的思路開發webapp

發布時間:2022-01-05 17:51:27 來源:億速云 閱讀:137 作者:柒染 欄目:大數據

如何用開發本地tcpip程序的思路開發webapp,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

不可否認的是,webapp已經是與desktop, mobile app并列的主流appmodel之一,但是,web卻是一種典型的Appstack as os,webapp是在native server apps上打出的一個b/s洞,再在這個洞里發展出來的一整個世界(跟移動端APP一樣比如安卓),,比如,它底下的appstack,分別屬于native/desktop的范疇,負責gui的是nginx,db mysql,etc(代表webappstack的是服務端app,客戶端只是“client side html,js resources”,它脫離了服務端,就沒有自身存在的意義。不是一個獨立可用的app)..

Vs nativeapp和nativedev,它從來沒有自己的os,或任何標準的宿主定義。較之native app,它不算是一種有專門運行它的OS供它托管運行的“app”,你要說webapp的host是lamp,很明顯,lnmp中的l并不屬于web,是applicationserver?beanserver?,也不是,它是語言的組件服務器,換言之,只有nginx,mysql這樣的東西屬于web —— 只是說,技術上通過ln+np的組合,能搞出一種web程序。這跟移動開發類似,它們都是linux和一種虛擬機語言雙重托管運行下的app,——— 本來嘛,web開發和移動開發是beyond native層面的,也只須這樣。

web的設計與缺陷

在開發上,動態程序的web app是monolith的前后端整合的,叫page app,程序員在后端完成所有的程序開發,Webapp的框架邏輯無非是routing,template,orm,route,mvc這些框架邏輯。代表一種appmodel的,無非就是它的stack框架邏輯。因為它考慮進了瀏覽器是服務端和客戶端一體app。web程序之間不用交互和復用,沒有api機制,也沒有web件,web as service(當然,這些后來也有。。。),只有語言源碼級的復用。

應用上,和后端運維上,也都是整合在web的。用戶在一個web界面上完成所有的事,比如cms后端管理。用戶和內容也是集成在遠程的。沒有線下只有線上。 這也就是說,程序靠后端,內容靠用戶,全民線上分布式,沒有線下分布式,它整個就是monolitch的(而且采用http,js這些具體選型沒有二選,使得webapp是fixed的)。

以上這引起都不是問題。也不是web的問題。就像Web剛開始一出來其實就是分發靜態文檔只是后來有人用它來強行運行webapp而已(而且分布式應用開發本來在工業上的實現就很破碎,歷史上并不存在一個真正的分布式OS,也不存在一個分布式appserver,見《plan9一個真正的分布式OS》) ——— 歷史上,長鏈接,webgl,streaming content,這些,一直都是從各個維度去克服web monolitch page appmodel,使之多元的努力,

只是,只能有線上分布,不能有真正的線下分布,web這個缺點是顯而易見的。有完全適合將web置于線上的現實需要,也就存在與現實的web應用現實相左的需求,比如,存不存在一種線上線下合作分布式的webapp呢?那些在本地可以處理的就讓它在不必在遠程,比如后端管理,使之跳出browser? 就像git的分布式那樣,——— 在前面,我們也不斷講到此類思路,比如用靜態網站思路來開發webapp,用tcpip來開發b/s。

新webapp

這樣的方案是存在的,網上有wordpress headless cms這樣的項目,這樣努力的結果就是重新將web置于規范級,將webapp重設計,它僅需要是一個http協議,也不必是一個b/s app,web只需是一個gui,而不應成為full appstack的全部。這樣就分離了線上線下。線上線下分別開發,這二者通過api鏈接。

重新分離的好處多多,最明顯的就是,開發上:

1)Web的服務端可以真正作為headless backend,變身as service服務。有api機制和復用。客服分離開發,用c/s方式和類nativedev方式開發,客服不再拘泥彼此的技術規范和語言技術選型。

2)簡化了服務端開發和選型,顯示邏輯分離,服務端web框架再不用mvc這樣的東西及其它同時考慮處理客戶端routing等的邏輯,Lnmp中也不再需要php了。可以在服務端用任何一種語言來實現。也可以有gitstack這種多選擇的選型結構。或僅是其它采采用了http的其它非lnmp的xxxstack,所以,webapp的后端可以是任何東西。

3)將客戶端開發獨立成線下,不再將webapp視為一個monolith的appmodel,類c/s web,可以用任何語言實現將html視為編輯器中的asserts,不僅是瀏覽器了。,可以是其它獨立的客戶端app,

4)變“瘦服務端開發”“強客戶端開發”,比如Wordpress,插件可以在客端做,不用開源了。或者反之,那種復雜的線上交互網站,也是可以的(可是,那還有其它方法來解決不是?比如將動態部分也弄成一個headless “chat”,headless “comment”,headless “xxx”??)。

應用上:

1)cms可以發展為headless cms在本地管理,擁有真正獨立的客戶端app,可以fully Turn into functional in-browser application.

2)如果是展示型網站如cms,遠端web程序也只需是個存儲空間。比如阿里云OSS這種。這樣,一個靜態空間就可以解決cms托管的問題,而且更專業。

還有更多。。

其實,上面幾點就“treating b/s webapp as c/s webapp in nativedev manner”一個意思。

看完上述內容,你們掌握如何用開發本地tcpip程序的思路開發webapp的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宿松县| 陆河县| 确山县| 土默特右旗| 洛浦县| 阿拉善盟| 开鲁县| 游戏| 治多县| 平远县| 锡林浩特市| 永定县| 克东县| 棋牌| 五家渠市| 桂林市| 建宁县| 永平县| 东阿县| 江华| 兰溪市| 孟连| 双鸭山市| 和平区| 金乡县| 库伦旗| 临朐县| 大荔县| 阳城县| 绩溪县| 邹平县| 阿城市| 长子县| 专栏| 南和县| 拜城县| 文山县| 永登县| 永寿县| 鹰潭市| 鸡泽县|