国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Hello,服務(wù)端 Swift

移動(dòng)開發(fā)
自從蘋果官方發(fā)布了一個(gè) Swift 的 Linux 開源版本之后,服務(wù)端 Swift 終于迎來(lái)了一個(gè)令人激動(dòng)的前景。我的好奇心終于無(wú)法克制,是時(shí)候嘗試一下服務(wù)端 Swift 了!

自從蘋果官方發(fā)布了一個(gè) Swift 的 Linux 開源版本之后,服務(wù)端 Swift 終于迎來(lái)了一個(gè)令人激動(dòng)的前景。我的好奇心終于無(wú)法克制,是時(shí)候嘗試一下服務(wù)端 Swift 了!

除了用過(guò)幾個(gè) Baas 以外,我沒有任何后端編程經(jīng)驗(yàn),但幸運(yùn)的是開源社區(qū)已經(jīng)提供了現(xiàn)成的框架。我試了一下Tanner Nelson 推薦的 Vapor 框架。它的使用非常簡(jiǎn)單,非常適合我當(dāng)前的任務(wù),在這篇文檔中還會(huì)使用到 Heroku。我決定使用 Heroku 的原因是我們的后端團(tuán)隊(duì)在使用它,它對(duì)于前端來(lái)說(shuō)非常友好。

寫到這里的時(shí)候,為了解決 Heroku 框架運(yùn)行中的幾個(gè)小問題,我專門提交了一個(gè) pull request 。如果代碼還沒被合并的話,請(qǐng)?jiān)O(shè)置你的包管理器從 這里 下載。

安裝

要繼續(xù)本教程,首先,你需要一個(gè) Heroku 賬號(hào) ,并安裝好 Swift Development Snapshot 。寫到這里的時(shí)候,在它的正式版中還未包含 swift 包管理器。因此為了使用這個(gè)工具,你必須下載開發(fā)版的 snapshot。

開始

我們的目標(biāo)是創(chuàng)建一個(gè)簡(jiǎn)單的 Swift 服務(wù)器并運(yùn)行在 Heroku 上。這不需要在 linux 環(huán)境下進(jìn)行,就像是你在使用本地服務(wù)器。你只消創(chuàng)建一個(gè)本地的 Xcode 項(xiàng)目,對(duì)項(xiàng)目進(jìn)行一些設(shè)置,然后就可以在 Swift 包管理器 中運(yùn)行它。整過(guò)過(guò)程分為 4 個(gè)步驟:

將 main.swift 拷貝根目錄下的 Sources 目錄

創(chuàng)建一個(gè) Package.swift 文件

將 .build 目錄添加到 import paths 

要使用自動(dòng)補(bǔ)全和語(yǔ)法加亮功能,需要將 Swift 包管理器的 build 目錄提交到 import paths 中。注意,在 import paths 的 Debug 中設(shè)置的 debug 目錄,而 Release 項(xiàng)則輸入 release 目錄。

用 toolchain 運(yùn)行 Xcode

如果你使用 Xcode 7.3,你可以用 Xcode > Toolchains 菜單開啟一個(gè)Xcode 實(shí)例,用于打開 swift snapshot。因?yàn)槲覀儾荒茉?Xcode 中進(jìn)行編譯,我們只能以命令行的方式進(jìn)行編譯。

編寫服務(wù)器

令我高興的是,為了進(jìn)行概念驗(yàn)證,我需要編寫的代碼其實(shí)只有寥寥數(shù)行。我啟動(dòng)和運(yùn)行服務(wù)器的代碼甚至不到 10 行。

要啟動(dòng)服務(wù)器,只需在終端中輸入一句命令,:

好了,讓我們打開瀏覽器。我的瀏覽器安裝了 json 插件,你的畫面或許會(huì)有不同。

遷移到云上

服務(wù)器在本地順利運(yùn)行起來(lái)了,但如果放到云端則更好。我迫不及待地想將 App 在云上跑起來(lái)。對(duì)于我來(lái)說(shuō)這是一個(gè)全新的挑戰(zhàn),幸運(yùn)的是,我得到了 Vincent Toms 的悉心指導(dǎo)。

Heroku 的安裝是一件非常愉悅的體驗(yàn),幾分鐘后我就創(chuàng)建了一個(gè) Heroku App,接下來(lái)我就要上傳我的項(xiàng)目了。

出錯(cuò)啦

這只是今天的諸多錯(cuò)誤中的一個(gè)。我已經(jīng)預(yù)計(jì)到事情不可能一帆風(fēng)順,因此我查看了 Vapor 的文檔,最終發(fā)現(xiàn)問題出在所謂的 buildpacks 上。Heorku 提供了一些標(biāo)準(zhǔn)的 buildpacks,但完全沒有針對(duì) Swift 的 buildpacks。無(wú)奈之下求救于開源社區(qū),剛好看到 Kyle Fuller 的 buildpack 。集成它就簡(jiǎn)單得多了。

用這個(gè) buildpack 啟動(dòng)后,App 成功加載,接下來(lái)就是訪問它的 URL。

再次出錯(cuò)

事情不會(huì)那么順利的,是吧?經(jīng)過(guò) google 一番,仔細(xì)查看了一些例子,我發(fā)現(xiàn)我還差一個(gè) Procfile。瀏覽一下這個(gè)文件的內(nèi)容,你就能明白這個(gè)文件是干什么用的了。

buildpack 創(chuàng)建了可執(zhí)行文件,但 Heroku 并不知道。通過(guò) Procfile,我們告訴 Heroku 去運(yùn)行 SwiftServerIO 可執(zhí)行文件。上傳這個(gè) Procfile。

仍然出錯(cuò)

Heroku 編譯的 2 分支仿佛變得無(wú)比漫長(zhǎng)。我重新打開了瀏覽器,發(fā)現(xiàn)仍然報(bào)錯(cuò)。

我以為 Heroku 可能還未啟動(dòng)完成(實(shí)際不是),因此我又等了一小會(huì),終于發(fā)現(xiàn)出錯(cuò)了。可執(zhí)行文件生成了, process file 也就緒,一定是別的什么地方出問題了。再次 google,一直到我最終發(fā)現(xiàn)我需要設(shè)置 App 的規(guī)模(scale up)。這要使用到 Heroku 的 toolbelt 中的一個(gè)簡(jiǎn)單命令。

heroku ps:scale web=1

Heroku 在免費(fèi)情況下只有一個(gè) dyno(Heroku 計(jì)費(fèi)單位,10~50 個(gè)請(qǐng)求/秒)。但對(duì)于我們的簡(jiǎn)單服務(wù)器來(lái)說(shuō),這也夠了。因此,在我們將 scale web 設(shè)置為 1 個(gè) dyno 之后,再次用瀏覽器查看。

成功了!

成功了!服務(wù)器啟動(dòng),出現(xiàn)了萬(wàn)能的 hello world!經(jīng)過(guò)一番歡呼雀躍之后,讓我們真正來(lái)問一聲好吧!

響應(yīng)請(qǐng)求

在 main.swfit 文件中添加一小段代碼,讓服務(wù)器在問好的同時(shí)能夠因人而異。就微微偷一下懶,新加一個(gè)路由,讓服務(wù)器根據(jù)輸入輸出不同的問候語(yǔ)。

一切正常,但根據(jù)一般規(guī)律,我仍然做好了出錯(cuò)的心理準(zhǔn)備。提交修改,push 代碼到 Heroku。

Say Hello!

大約一份多鐘的編譯之后,在瀏覽器中訪問 URL,服務(wù)器返回了問候語(yǔ)。你可以在這里查看效果 。

接下來(lái)是什么?

可以說(shuō),服務(wù)端 Swift 的今天離不開社區(qū)強(qiáng)大支持。對(duì)于我來(lái)說(shuō),能夠從云端獲取 JSON 是一個(gè)令人興奮的開始,我已經(jīng)迫不及待地想看看接下來(lái)還會(huì)發(fā)生什么。

當(dāng)然在此之前,我不得不和我在 Intrepid Pursuits 的同事們一起,繼續(xù)編寫一個(gè)有一個(gè) iOS App。如果你想了解我的最新動(dòng)態(tài),請(qǐng)?jiān)谠L問我的 Github 或者 Twitter

服務(wù)端 Swift 

附言

在 這里 下載源代碼。

在 Journal 文件夾中,是 step-by-step 指南。

責(zé)任編輯:倪明 來(lái)源: CocoaChina翻譯活動(dòng)
相關(guān)推薦

2012-03-02 10:38:33

MySQL

2013-03-25 10:08:44

PHPWeb

2010-08-03 09:59:30

NFS服務(wù)

2016-11-03 09:59:38

kotlinjavaspring

2021-05-25 08:20:37

編程技能開發(fā)

2022-12-29 08:56:30

監(jiān)控服務(wù)平臺(tái)

2009-08-21 15:22:56

端口偵聽

2010-03-19 18:17:17

Java Server

2010-02-24 15:42:03

WCF服務(wù)端安全

2010-03-18 18:09:36

Java Socket

2021-04-26 13:20:06

Vue服務(wù)端渲染前端

2023-08-08 08:17:23

VasDolly服務(wù)端參數(shù)

2009-08-21 16:14:52

服務(wù)端與客戶端通信

2011-09-09 09:44:23

WCF

2009-08-21 15:59:22

服務(wù)端與客戶端通信

2024-03-06 14:58:52

客戶端微服務(wù)架構(gòu)

2009-08-21 15:36:41

服務(wù)端與客戶端

2009-08-21 15:54:40

服務(wù)端與客戶端

2010-03-18 17:47:07

Java 多客戶端通信

2023-03-06 08:01:56

MySQLCtrl + C
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

日本一区二区三区dvd视频在线| 综合久久给合久久狠狠狠97色| 日韩欧美国产1| 成人av蜜桃| 国产在线激情视频| 久久久国产精品不卡| 国产美女精彩久久| 大菠萝精品导航| 国内精品久久久久影院色| 亚洲免费专区| 一本久久精品一区二区| 精品高清视频| 波多野在线观看| 日韩精品福利一区二区三区| 欧美综合一区| 欧美成人hd| 成人美女在线视频| 在线观看免费观看在线91| 最新成人av网站| 欧美视频在线不卡| 日韩视频在线永久播放| 亚洲人成亚洲精品| 欧美视频在线视频| 69国产精品| 久热成人在线视频| 国产97在线播放| 亚洲国产网址| 欧美韩国日本在线| 国产性天天综合网| 免费看黄视频网站| 久久精品国产亚洲精品2020| 黄色av免费在线观看| 日韩在线一区二区三区免费视频| 日韩黄色av| 日本一区影院| 久久免费视频观看| 欧美性一区二区| 四色成人av永久网址| 97精品电影院| 不卡视频一区二区| 男人亚洲天堂| 欧美午夜久久| 日韩免费在线免费观看| 99re8在线精品视频免费播放| 视频一区视频二区视频三区视频四区国产| 久久精品青草| 国产精品一国产精品最新章节| 亚洲欧美综合| 欧美性大战久久久久| 美女视频一区在线观看| 日本男女交配视频| 国产日本欧洲亚洲| 色网视频在线| 欧美日韩一级二级| 竹内纱里奈兽皇系列在线观看| 日韩中文字幕在线视频| 另类ts人妖一区二区三区| 国产欧美日韩高清| 亚洲人成久久| av久久久久久| 亚洲欧美视频一区| 番号在线播放| 亚洲人永久免费| 一区二区中文字幕在线观看| 91精品啪aⅴ在线观看国产| 国产精品毛片一区二区三区| 国产片侵犯亲女视频播放| 国产精品你懂的| 神马亚洲视频| 精品国产乱码久久久久久1区2区| 日韩av电影资源网| 国产精品久久久999| 国产女优一区| 国产成人无码av在线播放dvd| 香蕉影视欧美成人| 深夜av在线| 欧美专区中文字幕| 日韩av一区二区在线影视| 国产美女无遮挡网站| 欧美天天综合色影久久精品| 婷婷综合六月| 亚洲伊人成综合成人网| 丁香婷婷综合五月| 欧美女优在线观看| 超级污的网站| 51午夜精品国产| 加勒比中文字幕精品| 国产成人女人毛片视频在线| 亚洲欧洲国产伦综合| 欧美视频第一| 国产精品大陆在线观看| 狠狠色狠狠色综合| 国产无遮挡又黄又爽免费网站| 日韩一区二区电影网| 精品亚洲自拍| 污视频在线免费观看一区二区三区 | 亚洲老司机av| 久久综合88| 天堂中文视频在线| 日韩欧美一区二区久久婷婷| 日韩超碰人人爽人人做人人添| 中文字幕黄色大片| 欧美91看片特黄aaaa| 欧美一区二区三区艳史| 国产一区二区日韩精品| 国产一级片在线播放| 66m—66摸成人免费视频| 国产伦精一区二区三区| 在线免费av电影| 成人精品一区二区三区电影免费 | 亚洲综合中文字幕在线| 午夜精品视频一区二区三区在线看| 亚洲国产精品一区二区三区| 久久电影院7| 91精品久久久久久久久久另类| 91欧美激情一区二区三区成人| 中文字幕资源网在线观看免费| 精品1区2区| 亚洲免费成人av| 欧美亚洲色图校园春色| 在线观看国产一级片| 97在线日本国产| 精品国产福利视频| 欧美日韩国产中字| 日韩精品免费一区二区夜夜嗨 | 好男人免费精品视频| 91传媒视频免费| 在线免费观看一区| 久久国产欧美| 国产精品专区免费| 久久亚洲精品毛片| 黄色综合网站| 天堂a√中文在线| 欧美精品999| 国产精品一二三四区| 国产午夜精品一区理论片| 欧美一区二区三区四区在线| 不卡一卡二卡三乱码免费网站| 日韩在线免费看| yw.139尤物在线精品视频| 麻豆传媒一区二区三区| 国产三级电影在线| 久久久久国产精品免费网站| 欧美成人猛片aaaaaaa| 日本一区二区三区dvd视频在线| 久久91成人| 欧美成人免费全部网站| 国产淫片av片久久久久久| 国产福利不卡视频| 蜜桃av.网站在线观看| 精品欧美日韩在线| 91精品国产综合久久久久久久 | 久久精品aaaaaa毛片| 精品福利电影| 日本高清在线观看wwwww色| 亚洲精品不卡| 亚洲欧美国产精品| 亚洲va国产va欧美va观看| 香蕉久久a毛片| 国内毛片久久| av不卡高清| 情se视频网在线观看| 欧美日韩一区二区在线免费观看| 欧美国产乱视频| 一本大道久久a久久综合婷婷| 精品9999| 国产成人精品一区二三区在线观看 | 国产原创中文在线观看| 最新欧美日韩亚洲| 欧美成人免费高清视频| 一级在线观看| 国产精品成熟老女人| av一区二区不卡| а√中文在线天堂精品| 国产精品无码av无码| 久久久人成影片一区二区三区观看| 欧美日韩激情视频| 蜜臀久久99精品久久久久久9| 97影视大全免费追剧大全在线观看| 爱情电影网av一区二区| 麻豆国产一区| 国产精品入口免费软件| 欧美日韩免费看| 欧美成人一品| 亚洲黄色成人久久久| 国产成人一区二区三区| 日韩精品视频在线免费观看| 日韩人体视频一二区| 国产欧美视频在线观看| 丁香六月久久综合狠狠色| 日本视频一区二区| 你懂的成人av| 精品久久不卡| 国产精品s色| 亚洲mv大片欧洲mv大片| 亚洲精品久久| 女人香蕉久久**毛片精品| 先锋影音国产精品| 国产精品极品国产中出| 国产精品免费大片|