1、如何實現iOS終端於伺服器之間的數據交互
IOS開發終端和伺服器交互目前都是通過restful api的形式。
IOS終端列出需要的API介面,服務端實現這些接回口,中間通過答http協議通信來交互。
REST 指的是一組架構約束條件和原則。滿足這些約束條件和原則的應用程序或設計就是 RESTful。
Web 應用程序最重要的 REST 原則是,客戶端和伺服器之間的交互在請求之間是無狀態的。從客戶端到伺服器的每個請求都必須包含理解請求所必需的信息。如果伺服器在請求之間的任何時間點重啟,客戶端不會得到通知。此外,無狀態請求可以由任何可用伺服器回答,這十分適合雲計算之類的環境。客戶端可以緩存數據以改進性能。
在伺服器端,應用程序狀態和功能可以分為各種資源。資源是一個有趣的概念實體,它向客戶端公開。資源的例子有:應用程序對象、資料庫記錄、演算法等等。每個資源都使用 URI (Universal Resource Identifier) 得到一個唯一的地址。所有資源都共享統一的介面,以便在客戶端和伺服器之間傳輸
2、給iOS程序提供數據的伺服器端採用什麼開發更好
Python,Ruby,Node 都用了一下,最後選擇 NodeJS。
在選擇時,Ruby on Rails,Django 第一內個出局,因為考慮到 API 應該輕容,快。
Python 曾經用過 Flask,考慮過 Bottle。不過兩者的 Extensions 的功能都無法需求。
Ruby 的 Sinatra 是最好用的。選擇 Sinatra + Mongoid,一個星期可以搞出來(我自己的情況)。
現在選擇用 NodeJS 的 ExpressJS + Mongoose 搭配。從 Ruby 轉成 Node,主要是因為看上 NodeJS 的性能。Request per Second 的話,NodeJS 7000 左右,ExpressJS 3000 左右,Sinatra 900 左右,Ruby on Rails 300 左右。
寫 JavaScript 都是用 CoffeeScript 寫的,所以寫起來就像寫 Ruby 或 Python 一樣,非常 Lisp。
ExpressJS 的開發也是這些框架裡面,最活躍的。
3、iOS app 和服務端怎麼交互,實現注冊登錄功能
IOS開發終端和伺服器交互目前都是通過restful api的形式。
IOS終端列出需要的API介面,服務端實現這些介面,中間通過http協議通信來交互。
REST 指的是一組架構約束條件和原則。滿足這些約束條件和原則的應用程序或設計就是 RESTful。
Web 應用程序最重要的 REST 原則是,客戶端和伺服器之間的交互在請求之間是無狀態的。從客戶端到伺服器的每個請求都必須包含理解請求所必需的信息。如果伺服器在請求之間的任何時間點重啟,客戶端不會得到通知。此外,無狀態請求可以由任何可用伺服器回答,這十分適合雲計算之類的環境。客戶端可以緩存數據以改進性能。
在伺服器端,應用程序狀態和功能可以分為各種資源。資源是一個有趣的概念實體,它向客戶端公開。資源的例子有:應用程序對象、資料庫記錄、演算法等等。每個資源都使用 URI (Universal Resource Identifier) 得到一個唯一的地址。所有資源都共享統一的介面,以便在客戶端和伺服器之間傳輸狀態。使用的是標準的 HTTP 方法,比如 GET、PUT、POST 和DELETE。Hypermedia 是應用程序狀態的引擎,資源表示通過超鏈接互聯。
4、學習iOS開發,求一個伺服器源代碼
https://github.com/Averey/mjServer
善用 google
5、ios開發伺服器端 什麼虛擬主機
我最近也在做後端,Python,Ruby,Node 都用了一下,最後選擇 NodeJS。
在選擇時,Ruby on Rails,Django 第一個內出局,容因為考慮到 API 應該輕,快。
Python 曾經用過 Flask,考慮過 Bottle。不過兩者的 Extensions 的功能都無法需求。
Ruby 的 Sinatra 是最好用的。選擇 Sinatra + Mongoid,一個星期可以搞出來(我自己的情況)。
6、ios獨立開發者的伺服器怎麼解決
用一套安全的,將來也不會被禁用的設備識別體系,就可以了。其實TalkingData早在iOS 6發布的時候專就已經開始著屬手研究相關解決方案了,不用UDID,不需要提取MAC地址,也不用誇應用訪問公共剪切板,更不需要藉助Safari Cookie,就可以輕松實現獨立設備的識別--這套體系就是TIID(TalkingData Independent ID)。目前TIID已經可以做到不受IDFA、IDFV影響,始終保持一致,即便是用戶刷機,但只要恢復數據,即可保持TIID前後一致。唯一會導致TIID發生改變的情況就是用戶徹底重置設備且放棄恢復備份的數據--對於一個iOS用戶來說,這種事件的發生幾率極小,即便是更換新的設備,用戶也大多會選擇從之前的設備備份數據恢復到新設備上。
7、iOS 開發中,可以實現app直接連接伺服器上的mysql資料庫直接取數據么?
理論上是可以直接來讀取資料庫的,源相當於遠程連接著數據。簡單說明一下,就是用客戶端組件,設置資料庫地址、埠、用戶、密碼,然後直接select update,把命令提交到資料庫。
但問題在於資料庫的信息,用戶密碼存儲在客戶端,容易給反編譯出來(難度這個我不清楚,你做ios開發可能清楚點)。而當發生安全問題的時候,要改密碼或者資料庫地址,麻煩事就來了,總不能讓用戶再升級一次(ios的發布期你也知道)。
此外還要考慮數據在傳輸過程中是否加密,是否證書方式,現在的網路,劫持植入廣告滿街都是。好像蘋果那邊有限制今後的新軟體要ssl才行。
8、從ios開發轉伺服器端開發需要做哪些努力
CP/IP協議第一卷和C程序設計語言,把簡單思路熟悉了一遍,就照著UNIX套接字的源碼改來改去。專覺得從這屬些環境打包地很好的語言轉C開發還是有些東西要注意的。
就照著readme敲終端,先期一定要把Makefile學好,對一些簡單的編譯指令-I,-L,-l要熟悉,這樣在配置開源工具包以及編譯自己的文件的時候可以做到心中有數。
習慣了各種簡單連接符拼接轉義什麼的,再用回C的暗黑函數有點適應不過來,然後對字元串的讀取邊界什麼的也要自己操心。總之剛用回char的時候有種掣肘的感覺。
多看開源的源碼,就像前面的GLib,花了時間把GString的實現給看了,再之後使用的時候心裡就很有數了。
9、在IOS網路編程,怎麼構建伺服器端和客戶端交互
http可以用asihttprequest這個庫,tcp可以用AsyncSocket。用http的協議的話,伺服器端好像要寫相關服務來接受http請求,tcp的話,伺服器則監聽發請求的對應埠。 查看原帖>>