Noah's Blog

SkyEvent开发随笔(1)

2015-08-20

前言

最近一周一直在做一个亦个人亦团队的项目–SkyEvent,之所以这么说是因为,开发方面只有我自己来做,算是首个粗糙但完整的全栈项目。之所以说团队,是因为随着正式投入运行的日期逼近,VATPRC的小伙伴终于要加入进来,承担内部和公开的测试任务,VATPRC也将成为进驻的第一个分部。由于距正式发布尚有1个多月,公开测试也还有半个月的时间,又是内部项目,这次就不爆谍照来保个密吧~

进度

  • 已经具备一个可靠的用户登录系统,并可在数天的时间之内加入VATSIM SSO的支持。
  • 已经具有完善的活动数据结构和查看部分。
  • 活动的管理已经席位、航班的预定正在紧张的敲码当中。

确定的部署结构

  • 后端核心部分使用ThinkPHP 3.2.3,部署在新浪云的SAE上,好几千云豆不用白不用,还能提供方便的计划任务方便定时发送活动提醒邮件。
  • 前端使用老方案Bootstrap 3.3.5 + jquery 1.11.3,不过首次采取单一入口和完全闭包来做,为未来前后端只靠AJAX连接彻底分离做准备。
  • 邮件部分使用每天500封的腾讯企业邮箱,额度够大
  • 域名部分使用自己的skyevent.tk,但考虑tk域名搜索引擎不收录,也不够稳定,主要还是通过skyevent.sinaapp.com传递数据,向VATPRC申请的二级域名做镜像。

心得

  1. 前端单一入口

    前端全部使用单一入口,禁止URL跳转的方法主要是为了节省流量和今后对前后端彻底分离的考虑,鉴于SAE绑域名双倍流量,自己的服务器又不够快,前端HTML部署在自己的服务器,仅在首次进入网站时使用,所有数据从部署在国内云平台的API上抓就是一个好的方案。

    2.后端ThinkPHP过于臃肿又不得不用

    由于SAE是使用特殊API,本地模拟很难,ThinkPHP包装的很好用,但是看起来访问速度,效率上总感觉有些臃肿,大概也是我PHP基础还不够扎实吧,不过总体考虑,有机会还是会把后端使用其他框架重写,但部署在SAE上的话暂时使用ThinkPHP也足够了。

  2. SAE确实有点落伍

    SAE的I/O锁死,数据库,缓存API全部使用自有API给本地开发带来了不小的麻烦,而在远程调试流量又太贵,对于我这种边学边做的人来说确实头疼,好在ThinkPHP团队的成果还是不错的,简单的封装有效减少了学习、调试成本,不过如(2)轻量化程度对我这个强迫症来说,大概PHP就不太合适:)另外SVN确实不如git顺手。

  3. Coding好用到飞起

    目前正用coding的私有项目管理,git库又快又准,IDE在临时情况下用过,要不是习惯了自己的sublime,绝对在上面写项目没问题!
    就算帮他们打广告吧,听说团队用更舒服。https://coding.net

总结

第一阶段的开发想快也快不起来,多语言词条的维护更是头疼,只有慢慢消化这些成果咯~