成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

web后端開發(fā)中怎么從零做一個移動應(yīng)用

今天小編給大家分享一下web后端開發(fā)中怎么從零做一個移動應(yīng)用的相關(guān)知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比通道網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式通道網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋通道地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。

后端開發(fā)的疑惑

后端開發(fā)最常面對的一個問題:性能、高并發(fā)等等。但是這不在本文的討論范圍,我們只講基本的怎么把代碼寫好,如何把業(yè)務(wù)模塊劃分好。

性能、高并發(fā)的解決方案, 大部分是在代碼之外的擴展。

那么站在純粹的 寫代碼 角度,如何寫好后端的代碼呢?我以前的疑惑常常有:Controller 層到底放哪些代碼?Model 又可以做哪些事情?自己的一些擴展、工具類,該如何組織?

發(fā)現(xiàn)現(xiàn)在能夠想起的疑惑變少了,如果你有什么疑惑,歡迎留言我們一起學習討論

雖然代碼主要是實現(xiàn)業(yè)務(wù)邏輯,但是選擇一款好的框架,非常有助于提升團隊作業(yè)能力,讓代碼層面的性能無憂。

框架的選擇

說實話,自感 php7 出來后,代碼層面的性能,已經(jīng)到了一個非常高的層度。基本上在百萬級別左右的系統(tǒng),在語言層面沒有什么顧慮了。

框架方面,自己用過的php框架包括(時間先后):ThinkPHP Laravel 非著名自造框架 Yii Phalcon

本文所有代碼結(jié)構(gòu)設(shè)計與組織設(shè)計基于 Phalcon ,其它除了 自造框架 都是非常優(yōu)秀的框架,不過框架層面的性能,就自身而言,是逐步升高。但是通過一些整合,也可以逐步提升其自身性能,如:Laravel YiiSwoole結(jié)合,也可達到 Phalcon 的程度。

php的版本是:7.1(如果你是一個新項目,一定要用php7)

后端要做些什么

當然肯定需要先把db設(shè)計好,不過這不在我們討論范圍,假設(shè)已經(jīng)完成了這一步。

我們的代碼需要提供以下幾部分能力:命令行腳本、api版本、后臺管理這三部分。當然這三部分也可以拆分成三個項目,不過小公司、小項目沒有必要(放在一個項目,加強了代碼的復(fù)用性)

這三個是大的模塊,然后再一個個接下來分析。

命令行腳本

先說 命令行腳本它是比較獨立的部分,不需要用戶調(diào)用,主要用來完成一些定時任務(wù)等。現(xiàn)代一點的框架,都提供這個模塊。
Phalcon提供了一個 CLI 模塊,可以方便的完成這部分能力。他的代碼寫起來還是 mvc 的結(jié)構(gòu),只不過訪問是通過命令行來進行。

比如一個最簡單的 cli

class MainTask extends Task
{    
   public function mainAction()    {
       return fwrite(\STDOUT, 'hello task!')    } }

api模塊

我在最早接觸api概念的時候,很懵逼,覺得很高大上?,F(xiàn)在我對它的理解就是:前后端純數(shù)據(jù)通信的一種方式。以前做web開發(fā),我們不提供api,直接后段把數(shù)據(jù)渲染在頁面上,用戶直接在渲染的界面上操作,然后通過按鈕或者什么觸發(fā)一個請求到后端。

而到了api時代,在web方面有了前后端分離概念;移動app后端更是無力渲染(天然前后端分離)。所以要后臺需要把數(shù)據(jù)發(fā)給前端,前端根據(jù)數(shù)據(jù)的描述把數(shù)據(jù)用用戶看得懂的方式展現(xiàn)出來。比如一個商品的api可能結(jié)構(gòu)如下:

{
    code: 1,
    msg: 'query ok',
    data: {
        name: '最涼快的空調(diào)',
        price: '9999.00',
        img: 'xxx.webp',
        stock: '10'
    }
}

這種方式讓前后端的開發(fā)彼此獨立,大家專注做自己的事情。但是這也帶來另外一個問題:前端有了所謂的版本,后端必須兼顧所有使用的版本。如果我們永遠只使用一個api地址。那么代碼可能會相當難看。

比如現(xiàn)在有了一個新的需求,以前 空調(diào) 只有一張圖片?,F(xiàn)在空調(diào)展示的時候有多張圖片。那么有兩種辦法,一種是增加字段,一種是將原字段 img 變?yōu)橐粋€數(shù)組。

如果是增加字段不會帶來兼容性的問題。但是如果是粗暴的將img類型變更為數(shù)組,之前的版本將無法解析這個類型,因此要想變?yōu)閿?shù)組,只能是api的整體升級(一般不會因為這個問題就進行升級)。

那么api做版本有哪些辦法呢?我采用了Phalcon的模塊來做api的版本控制。以前還嘗試過控制器版本。比如:
ApiV1Controller 表示這是v1版本。ApiV2Controller表示是v2版本。Phalcon的模塊為版本提供了非常大的便利,直接新開一個模塊,取名 v1,如果之后要升級,新開一個模塊叫做 v2。對于不需要修改的功能,可以簡單的讓v2控制器繼承v1中的控制器。

api的版本方面,我們就可以簡單通過url的方式完成,比如:

  • https://api.xxx.com/v1/user/123

  • https://api.xxx.com/v2/user/123
    版本信息就非常的一目了然。

后臺管理

絕大部分系統(tǒng),都需要一個cms來上傳、修改相關(guān)資料。以加速俠為例:需要上傳游戲,需要編輯一些游戲合輯等。你可以單獨成一個項目,也可以還是用模塊來進行開發(fā)(我推薦,極大程度的提供了代碼復(fù)用)。

我最不能接受的一句話是:后臺順便弄一下,反正給公司內(nèi)部用的。

做為一個有追求的程序員,我們必須要有底線,我們的目標是:讓大家工作起來更便捷,更輕松,最后讓大家沒有工作(哈哈哈)。所以后臺我也建議采用前后端分離,通過Vue來進行開發(fā)。

當前的后臺使用了 Vue + Element UI + Vuex + Vue-Roter來進行開發(fā)。參考了,網(wǎng)絡(luò)上的: 手摸手,帶你用vue擼后臺,寫的真不錯,為我學習省了很多彎路,特別是前端在權(quán)限控制上這一部分,他的方式讓我眼前一亮。我的后臺現(xiàn)在才剛剛搭建完基本的部分(路由規(guī)劃、一些自己擴展的vue插件)

web后端開發(fā)中怎么從零做一個移動應(yīng)用

前后端分離后,后段其實也可以歸結(jié)到api的開發(fā)部分。并且這樣帶來的一個好處是:如果以后后段要做移動版的一些功能,api都是現(xiàn)成的。

以上就是“web后端開發(fā)中怎么從零做一個移動應(yīng)用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享名稱:web后端開發(fā)中怎么從零做一個移動應(yīng)用
分享網(wǎng)址:http://jinyejixie.com/article24/pshoje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、微信小程序、軟件開發(fā)網(wǎng)頁設(shè)計公司、動態(tài)網(wǎng)站、手機網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
孟州市| 唐河县| 永昌县| 衡东县| 石河子市| 济宁市| 安化县| 会理县| 丽江市| 灌阳县| 茶陵县| 罗田县| 沈丘县| 稷山县| 石林| 绵竹市| 磐安县| 涡阳县| 岳普湖县| 喜德县| 麻城市| 木里| 钟祥市| 宝清县| 贵港市| 南木林县| 定安县| 正宁县| 内丘县| 石城县| 宜宾县| 体育| 涿州市| 崇文区| 北辰区| 福清市| 枞阳县| 固阳县| 华亭县| 永修县| 太仓市|