• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于LAMP構(gòu)建簡(jiǎn)易iOSAPP的開(kāi)發(fā)方法

      2017-04-08 19:36:45張帥桐
      電腦知識(shí)與技術(shù) 2017年5期
      關(guān)鍵詞:開(kāi)發(fā)

      張帥桐

      摘要:隨著智能手機(jī)的普及,移動(dòng)APP在公司的推廣營(yíng)銷(xiāo)以及吸納用戶(hù)方面有著重要作用,故而開(kāi)發(fā)APP的需求十分巨大。該文將基于LAMP架構(gòu),探討構(gòu)建一個(gè)簡(jiǎn)易iOS APP的開(kāi)發(fā)方法。

      關(guān)鍵詞:iOS;APP;開(kāi)發(fā);LAMP

      中圖分類(lèi)號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)05-0075-02

      1 LAMP架構(gòu)

      1.1 Linux操作系統(tǒng)

      優(yōu)秀的開(kāi)源操作系統(tǒng),向全世界開(kāi)放,由全世界優(yōu)秀的程序員維護(hù)開(kāi)發(fā),完全免費(fèi),可自由使用,安全可靠且性能出色,Linux是理想的服務(wù)器端操作系統(tǒng)。

      1.2 Apache HTTP服務(wù)器軟件

      世界上最流行的網(wǎng)頁(yè)服務(wù)器之一,開(kāi)源且對(duì)Linux完美支持,跨平臺(tái)且穩(wěn)定、通過(guò)插件拓展可支持PHP語(yǔ)言編寫(xiě)的動(dòng)態(tài)網(wǎng)頁(yè) 。

      1.3 MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)

      非常適合小規(guī)模數(shù)據(jù)的處理,較低數(shù)量級(jí)增刪改查的效率很高,開(kāi)源免費(fèi)適合個(gè)人和小規(guī)模團(tuán)隊(duì)進(jìn)行開(kāi)發(fā)。

      1.4 PHP 網(wǎng)頁(yè)服務(wù)器腳本語(yǔ)言

      開(kāi)源易學(xué), 開(kāi)發(fā)框架和說(shuō)明文檔充足,可編寫(xiě)動(dòng)態(tài)網(wǎng)頁(yè),可非常方便地連接服務(wù)器端的MySQL數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。服務(wù)器上的PHP程序可便捷地獲取數(shù)據(jù)庫(kù)數(shù)據(jù)并生成JSON格式的數(shù)據(jù)返回給前端,適合作為前端向后端獲取數(shù)據(jù)的API。

      2 配置開(kāi)發(fā)所需要的軟件

      2.1 Xcode

      優(yōu)秀的集成開(kāi)發(fā)工具,可使用C、C++、Objective-C及Swift語(yǔ)言進(jìn)行軟件開(kāi)發(fā),是編寫(xiě)iOS APP的不二選擇。Xcode可從App Store免費(fèi)方便地下載。

      2.2 MAMP

      是Mac上非常經(jīng)典、一鍵集成配置本地服務(wù)器的優(yōu)秀軟件。MAMP個(gè)人版是免費(fèi)的,便于程序員現(xiàn)在本地配置網(wǎng)頁(yè)服務(wù)器和MySQL數(shù)據(jù)庫(kù)環(huán)境。程序員可先在本地進(jìn)行測(cè)試代碼無(wú)誤后再通過(guò)SSH和SFTP等服務(wù)向遠(yuǎn)程服務(wù)器配置。

      2.3 Navicat for MySQL

      是一款為MySQL量身打造的前端控制軟件,可通過(guò)可視化的點(diǎn)按操作以及SQL語(yǔ)句操作本地服務(wù)器或遠(yuǎn)程服務(wù)器上的數(shù)據(jù)庫(kù)。

      2.4 Visual Studio Code

      微軟良心制作的編輯開(kāi)發(fā)工具,支持多種語(yǔ)言的高亮顯示和智能提示,可方便的開(kāi)發(fā)PHP程序。

      3 主要開(kāi)發(fā)流程

      3.1 配置本地Apache、MySQL、PHP環(huán)境

      運(yùn)行MAMP個(gè)人版,Start Servers即可一鍵配置所需環(huán)境。

      3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)與開(kāi)發(fā)

      此階段需要根據(jù)開(kāi)發(fā)項(xiàng)目進(jìn)行需求分析,然后從需求中抽象出所需實(shí)體以及關(guān)系構(gòu)建E-R圖,然后根據(jù)E-R圖設(shè)計(jì)數(shù)據(jù)庫(kù)中實(shí)際存儲(chǔ)的一系列表格和關(guān)系,最后根據(jù)數(shù)據(jù)庫(kù)三大范式驗(yàn)證設(shè)計(jì)結(jié)果有無(wú)錯(cuò)誤和冗余,修改無(wú)誤后使用Navicat for MySQL在本地服務(wù)器中的MySQL數(shù)據(jù)庫(kù)創(chuàng)建相關(guān)表格和關(guān)系。

      3.3 iOS APP前端開(kāi)發(fā)

      此階段需要在Xcode中創(chuàng)建工程實(shí)現(xiàn)基礎(chǔ)UI和主要業(yè)務(wù)邏輯。在Xcode工程中,使用storyboard拖拽UI控件和ViewController,再使用AutoLayout給控件添加約束達(dá)到頁(yè)面控件的合理布局或?qū)崿F(xiàn)某些動(dòng)畫(huà)。之后,根據(jù)storyboard中的每個(gè)ViewController,創(chuàng)建一系列繼承于UIViewController使用Swift語(yǔ)言的Cocoa Touch Class,然后將創(chuàng)建的Class與storyboard中的ViewController的Custom Class的Class相對(duì)應(yīng)。之后點(diǎn)擊Xcode中的Show the Assistant editor同時(shí)顯示storyboard中的ViewController與對(duì)應(yīng)的Cocoa Touch Class,通過(guò)按住control鍵鼠標(biāo)左鍵單擊拖拽storyboard中的UI控件到Class文件中可創(chuàng)建UI控件變量或觸發(fā)事件函數(shù)。最后,使用Swift語(yǔ)言結(jié)合iOS APP的生命周期實(shí)現(xiàn)每個(gè)頁(yè)面的業(yè)務(wù)邏輯。

      3.4 編寫(xiě)數(shù)據(jù)庫(kù)接口

      APP前端需要從后端的數(shù)據(jù)庫(kù)獲取數(shù)據(jù),但因?yàn)榘踩仍?,Swift語(yǔ)言只能直接操作SQLite這種小型本地?cái)?shù)據(jù)庫(kù),無(wú)法直接連接服務(wù)器上的數(shù)據(jù)庫(kù),操作遠(yuǎn)程數(shù)據(jù)。故而需要利用PHP語(yǔ)言編寫(xiě)數(shù)據(jù)庫(kù)接口,后端把MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)以JSON格式返回給APP。

      下面給出一個(gè)簡(jiǎn)易實(shí)例。

      3.5 配置遠(yuǎn)程服務(wù)器及軟件測(cè)試

      通過(guò)Mac上的Terminal(終端),新建遠(yuǎn)程連接,如安全Shell(ssh)服務(wù)即可把PHP程序配置到遠(yuǎn)程Linux服務(wù)器端,用Navicat for MySQL將本地服務(wù)器中的SQL文件導(dǎo)出,再導(dǎo)入到服務(wù)器上的MySQL數(shù)據(jù)庫(kù),改寫(xiě)APP和PHP接口中的網(wǎng)絡(luò)請(qǐng)求地址,測(cè)試運(yùn)行。

      4 不足與改進(jìn)

      本文所述是一種基于LAMP的簡(jiǎn)易iOS APP開(kāi)發(fā)方法,從實(shí)現(xiàn)手段不夠安全,數(shù)據(jù)沒(méi)有安全加密,對(duì)于正式項(xiàng)目應(yīng)該使用用戶(hù)token和安全加密算法。對(duì)于小型項(xiàng)目也可不必租用遠(yuǎn)程服務(wù)器,通過(guò)學(xué)習(xí)LeanCloud、Bomb后端云等云服務(wù)公司提供的開(kāi)發(fā)文檔可利用云服務(wù)器進(jìn)行替代遠(yuǎn)程服務(wù)器,簡(jiǎn)化了一系列的后端操作。不過(guò),使用云服務(wù)器也會(huì)造成對(duì)于云服務(wù)平臺(tái)的依賴(lài),一旦平臺(tái)發(fā)生問(wèn)題,會(huì)帶來(lái)數(shù)據(jù)泄露和大規(guī)模數(shù)據(jù)遷移等問(wèn)題。

      5 結(jié)束語(yǔ)

      隨著科技的發(fā)展開(kāi)發(fā)APP肯定會(huì)越來(lái)越簡(jiǎn)單,不過(guò)其核心思路萬(wàn)變不離其宗,每種方式都不是絕對(duì)的優(yōu)秀,一種方式的優(yōu)點(diǎn)有時(shí)候卻在另一種方式中被視為缺點(diǎn)。所以開(kāi)發(fā)者應(yīng)在開(kāi)發(fā)中根據(jù)實(shí)際情況,具體情況具體分析,權(quán)衡利弊得出最好的開(kāi)發(fā)方案。

      參考文獻(xiàn):

      [1] 袁明磊,張迪.基于后端服務(wù)的英語(yǔ)閱讀APP設(shè)計(jì)與實(shí)現(xiàn)[J].寶雞文理學(xué)院學(xué)報(bào):自然科學(xué)版,2016(1):63-67.

      [2] 宋陽(yáng).基于 LAMP 技術(shù)平臺(tái)搭建的 Web 安全服務(wù)器架構(gòu)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2016(10):36-37.

      [3] 陳云芳,潘利華,陳瑞,等.基于PHP語(yǔ)言訪(fǎng)問(wèn)MySQL數(shù)據(jù)庫(kù)的實(shí)現(xiàn)[J].中國(guó)新通信,2015(19):103.

      [4] 廖國(guó)棟,肖玉容.基于LAMP的云管理平臺(tái)研究及探討[J].江蘇科技信息,2014(14):22-24.

      猜你喜歡
      開(kāi)發(fā)
      高中歷史教學(xué)中對(duì)歷史圖片的開(kāi)發(fā)及實(shí)際應(yīng)用
      考試周刊(2016年85期)2016-11-11 01:57:37
      在線(xiàn)投稿與編輯系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)
      河南方言文化資源的保護(hù)及其開(kāi)發(fā)利用的研究
      遵義紅色旅游開(kāi)發(fā)對(duì)策研究
      基于J2EE和Ionic的ITer學(xué)習(xí)APP設(shè)計(jì)與開(kāi)發(fā)
      單片機(jī)在電子技術(shù)中的應(yīng)用和開(kāi)發(fā)
      抚顺市| 通河县| 叶城县| 丁青县| 喜德县| 时尚| 黔东| 前郭尔| 沁水县| 陆川县| 华宁县| 裕民县| 安平县| 娱乐| 两当县| 班戈县| 彭山县| 常宁市| 金阳县| 华宁县| 通化县| 翼城县| 丰镇市| 门源| 白玉县| 老河口市| 东方市| 潼南县| 泰宁县| 临猗县| 新闻| 镇赉县| 威信县| 金溪县| 保亭| 西平县| 江阴市| 札达县| 苏尼特左旗| 洛浦县| 锡林郭勒盟|