美文网首页iOS CollectioniOS精选博文iOS实用
swift-vapor 服务端开发教程-开源项目私人社区APP前

swift-vapor 服务端开发教程-开源项目私人社区APP前

作者: 小菜99 | 来源:发表于2017-04-21 13:04 被阅读2565次

    如果你想用swift 语言构建后台服务端,那么恭喜你,目前流行的swift server 有两款,一款是基于swift语言的Swift的Perfect服务端,还有一款是vapor服务端,两者相比vapor服务端更容易上手,搭配部署环境更容易,后期服务器更新代码也是一键傻瓜式操作。Perfect服务端环境搭配和后期代码更新相对复杂,反正作者尝试过两次,都失败了,按照官方教程中间会出现莫名的报错,而vapor一次成功。

    最流行swift server vapor
    如果你是一名iOS开发者,在准备搭建环境之前,建议你先看看vapor官方的环境搭建和安装方法 vapor官方安装文档 中间会下载一些辅助工具,如果你不能翻墙,那么很可能无法完成安装
    先说明一下,请你不要被我上面的介绍搞蒙圈了,说白了,这个swift-vapor服务器就是一个swift工程,可以在工程里面利用swift语言编写api接口,操作数据库等等。

    学会这个,你可以用这个vapor服务端做哪些事情?

    1.iOS、Android 后台服务器开发,前后端自己可以单抗了~

    2.如果你会html开发,那么控制台,网页你也可以单抗了~

    3.小程序后台?没问题!win应用后台,mac应用后台都能胜任

    4.主流服务器能做的事情vapor都能做

    为了提起你的兴趣,在安装之前先介绍下我利用swift-vapor服务器开发的成果

    1.iOS app 一枚(应用名:私人社区 App Store链接

    2.iOS app (私人社区)配套官网一个:私人社区官网一私人社区官网二

    3.小程序一枚(正在开发中...)

    4.服务端和app客户端以及网页源代码在文章底部

    swift-vapor 服务端开发教程-开源项目私人社区APP前后台 swift-vapor 服务端开发教程-开源项目私人社区APP前后台

    开始安装:
    1.安装安装Vapor和toolbox

    安装指令:
    
    curl -sL check.vapor.sh| bash
    
    curl -sL toolbox.vapor.sh| bash
    

    备注:我是利用mac 自带的终端执行的命令
    2.新建工程

    安装指令:
    
    vapor --help
    
    vapor new yourVapor  
    

    备注 yourVapor 是指你server工程的名称可以随便取,成功之后如下图

    vapor02.png

    3.打开项目

    vapor xcode-y
    

    打开项目之后,找到sources目录下的app/main.swift文件,拷贝下面的代码cmd+a,cmd+v

    import Vapor
    
    let drop = Droplet()
    
    drop.get { req in
        return try drop.view.make("welcome", [
            "message": drop.localization[req.lang, "welcome", "title"]
        ])
    }
    drop.get("json") { request in
        return try JSON(node: [
            "number": 123,
            "string": "test",
            "array": try JSON(node: [
                0, 1, 2, 3
                ]),
            "dict": try JSON(node: [
                "name": "Vapor",
                "lang": "Swift"
                ])
            ])
    }
    drop.resource("posts", PostController())
    
    drop.run()
    

    然后运行选择app运行在mac上

    swift-vapor 服务端开发教程-开源项目私人社区APP前后台
    在浏览器输入并访问 http://localhost:8080 可以看到一个网页
    swift-vapor 服务端开发教程-开源项目私人社区APP前后台
    在浏览器输入 http://localhost:8080/json可以看到一段json E973FB54-FCD1-485B-B38F-DDF47F80DA97.png

    4.配置数据库
    (备注:下面操作可能需要翻墙)
    如果前三步你没有出现什么报错和异常,你应该可以跟着我继续了,如果出现问题可以在下面留言。
    使用Postgres作为数据库,
    安装部署Homebrew,然后利用Homebrew安装Postgres数据库,

    brew install postgres
    

    然后在heroku上面部署自己的服务器:https://dashboard.heroku.com/
    首先得先去官网注册个账号,然后
    安装Heroku toolbeit 命令号工具,安装好之后测试下,没啥问题就登陆了,后面账号密码,就是你在heroku官网注册的

    heroku --version 
    heroku login 
    
    75F1B609-3D39-45CC-AA61-A2809051D314.png

    5.部署服务器
    先cd到工程文件夹

    git init
    git add .
    git commit -am "xxx"
    

    提交成功之后,开始设置服务器

    vapor heroku init
    

    接下来会有几个问答需要你确认,配置服务器用的(不要怕输错,根据自己的需求,后面可以去heroku官网找到自己的app,在设置里面修改)
    1.Would you like to provide a custom Heroku app name?
    你需要自定义你的Heroku app名字吗,当然需要,输入Y
    2.Custom app name?
    '你的APP名字,例testqq'
    3.Would you like to provide a custom Heroku buildpack?
    是否需要编译空间 输入N,
    4.Are you using a custom Executable name?
    N
    5.Would you like to push to Heroku now?
    Y
    稍等会,推送完成之后就可以访问你的远程heroku服务器了
    https://testqq.herokuapp.com/ (备注:这里的testqq就是刚才设置的app名字)

    最后一步:给你的远程服务器配置数据库

    heroku addons:create heroku-postgresql:hobby-dev
    

    你可以访问你的远程服务器资源,如:获取json:https://testqq.herokuapp.com/json
    备注:每次你修改完服务器代码之后,你只需要:

    git commit -am "加了新东西"
    git push heroku master
    

    Ok,到此为止,如果你以上过程中没有出现什么问题,那么你基本上已经学会如何利用Swift写服务器了,在此之前,你可以先下载我的服务端和客户端代码跑起来预习了解自己尝试下,服务器工程需要cd到目录,用vapor xcode -y 打开

    vapor xcode -y
    

    服务器本地需要安装
    pgAdmin 4,最下面附件有,方便调试管理。
    私人社区iOS app服务器接口截图

    屏幕快照 2017-04-21 下午12.09.57.png

    如果你是大神,并且已经精通Vapor服务器,这里我也有赠品相送,毕竟学无止境

    让大家满载而归,老鸟赠品😍,点我

    B4CBAB3B-29F4-49B3-AE5D-DEB111282E5D.png

    下一篇:我将介绍我项目里面如何使用vapor对数据库的增删改查、表关联、一些数据库的高级查询,以及vapor服务器的详细使用指南,喜欢的同学帮忙点个赞😍

    私人社区服务器
    私人社区IOS app项目
    本地数据库postgresql管理工具
    模拟发送请求工具
    老鸟赠品

    相关文章

      网友评论

      • afyylong:第三步替换代码,找不到Droplet这个类,报错
        afyylong:@小菜99 嗯嗯
        小菜99:@afyylong 第一代 vapor 1.0.现在已经升级3.0了,工程可能会报错,稳定版是2.0
      • 贝尔特伦:你好,我想问下你有对vapor配置ssl吗
        小菜99:@贝尔特伦 云服务器用nginx适配https,这样以https形式就能直接访问vapor工程接口,这个链接是我的,网页https://www.srsq.club/blue 是放在vapor工程里面的
        小菜99:ssl支持的不是更好,我当时为了做小程序折腾了好久、后来找别人帮弄的nginx搞定的、vapor不需要做任何事情、你可以访问https://srsq.club/blue
      • 柳絮风微:我弱弱地问一句,请问怎么翻墙的,我是个小白~~~
        小菜99:打开appstore搜索天行vpn,点击签到,每天可免费用30分型
      • 罗文强:必须支持!
      • AgoniNemo:上面的链接挂了,麻烦更新下
      • 遥遥领先M:部署成功后 打开xxx.herokuapp.com的时候一直出现下面情况 是什么原因?
        Application error
        An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details.
        AgoniNemo:要查看日志才能知道什么情况,因为swift 还有一些类在Linux是不可用的,具体情况具体分析
      • miliPolo:大佬,vapor服务器代码我用xcode怎么跑不了?求解
      • 庞大不小:学习了。:smile:
      • zenon:swift搞服务器:+1:
      • 60343a0ad510:叼叼叼
      • 醉看红尘这场梦:握草。这么牛逼:+1:
      • d2a553cc00c5:现在是不是vapor new 和 xcode 以及拉依赖都要翻墙啊?
        小菜99:@codepapa 依赖里面有些包确实下载很慢,我装了翻墙也得三到五分钟,我看你还是装个翻墙吧
        d2a553cc00c5:@小菜99 toolbox已经装好了,就是vapor xcode 经常fail 。。。 是要在翻墙状态下吗?vapor xcode 不是在跑SPM那边的东西吗?
        小菜99:查看vapor官方文档需要翻墙,安装toolbox也要翻墙,
      • 暴走的西瓜:膜拜..学习中
      • 大兵布莱恩特:这个厉害了
      • 红香:大神,好厉害👍

      本文标题:swift-vapor 服务端开发教程-开源项目私人社区APP前

      本文链接:https://www.haomeiwen.com/subject/itglnttx.html