浅谈软件开发的技术选型

2016 年刚入冬的时候,决定利用工作之余和两个朋友一起尝试做一个互联网产品。朋友 A 是写 Java 出身,有 Java 服务端开发
和安卓开发经验。朋友 B 是国内一家互联网公司的产品。我的技术背景略复杂。当年拿着应聘 Java 实习生的简历找到了一份前端开发的
工作,进入公司之后却用 Cocos2d-js 开发起了游戏。游戏上线后,持续写了 3 个月左右的 CSS。突然有一天,Boss 说想要一个
游戏社区,要尽快上线,于是撸起袖子玩起了 PHP 和 MySQL(基于 WordPress 二次开发)。社区第一版上线后,我便请假回学校
准备毕业答辩。答辩结束回到公司后,Boss 说要把社区和现有官网整合到一起。于是便开启了一段让我成长很多的旅程(旅途前半程搭
了 jQuery、Node、sqlite3 的车,后半程上再次上了 PHP 和 MySQL 的船)。一个偶然的机会了解到一个做家教 O2O 的创业团队,
便加入其中玩起了 Angualr 1 和 Ionic,还顺带折腾了一下 Django。再后来,就入职了花厂,操起了前端这把刀,专心的舞了起来。

最初决定后台大体的技术方案时,有如下 5 种方案:

  1. Java + MySQL
  2. PHP + MySQL
  3. Python(Django) + MySQL
  4. Node.js + MySQL
  5. Node.js + Mongodb

当时我们讨论了几次,去读了一些关于后台技术选型的文章、图书和网上资料,再加上个人的经验决定选择 PHP + MySQL 作为后台的
技术方案。不选择 Java 的原因主要是认为 Java 开发效率较低(想想大学时接触的 J2EE 和 SSH,脑中浮现的总是“重”的印象),加上我只
记得一些 Java 的基本语法和概念了,不能为 A 分担太多工作量。我和 A 都不能确保使用 Django 可以保证项目进行的顺利,所以放
弃了 Python 的方案。A 对 Node.js 不熟悉,加上业界很少只用 Node.js 承载后台业务的,所以和 Node.js 也 say goodbye 了。
PHP 嘛,以上手简单、开发效率高著称,加上 PHP 7 性能有了很大的提升,左看右看上看下看就属它合适了。

选择了后台使用的语言和数据库后,就到了选择后台框架的阶段。一番翻云覆雨过后,选定了 PHP 界的一颗新星 — Laravel。

事情进行到这里,一切都是那么的顺畅。似乎是选择了一个别人口中简单易上手的东西,自己便可以轻松搞定一切的样子。

从我开始搭建开发环境的那一刻起,我就意识到事情没那么简单。熟悉的随便装一个 XAMPP,然后把 PHP 代码丢在服务器上的光阴
一去不复返。跟着官网的教程,逐步把项目跑起来,写好说明文档后,代码推到 Coding,便把项目地址和说明文档交给了 A。

志遥 wechat
微信扫一扫,我在丁香园记公众号等你