1. CS/BS架构的选择
1) CS(Client/Server)的服务器端通常都是由程序实现服务,并且一直在后台运行,客户端是一个程序。
2) BS(Browser/Server)的服务器端是Web服务器在后台运行(如apache),只需要写一些程序(如PHP)被Web服务器调用即可,而客户端可以是浏览器也可以是程序。
3) 就实现而言,无论协议的设计,编码,还是调试,BS都相对简单。
2. GAE与SAE的选择
SAE(Sina App Engine)是新浪开发的用于 WEB 应用程序的开发和托管的平台,它提供了Web服务器,存储空间,数据库,负载均衡,数据备份等等,开发者只需要实现应用相关编码即可使用。
GAE(Google App Engine)是谷歌开发的WEB应用程序开发和托管的平台。
GAE和SAE各有优势,考虑到主要面对国内用户,而GAE时常被封,无法保证稳定性,故选择SAE(参考《GAE与SAE对比》)
3. 费用
SAE以云豆计费,对流量,CPU时间,存储空间等进行计费,只需对使用的资源付费。注册,手机认证,实名认证,开发者认证都可获得一定数量的云豆赠送,前期访问量少时,基本无需费用,后期可申请开发者认证,以争取更多的云豆赠送,来减免一些费用(赠送规则,计费说明参考《SAE文档中心》)
4. 编程语言的选择
SAE现支持PHP,JAVA,PYTHON,而JAVA,PYTHON还在测试阶段,且PHP实现比较简单,故推荐PHP
5. 建站注意事项
鉴于平台收费的变化,应尽量加强程序的可移植性,以免被某些平台牵制。
1) 使用更为公共的接口, 尽量少用平台自身的API
2) 实现数据库的导入/导出及备份
3) 准备程序及数据的备份和迁移方案
4) 尽量使用域名
二、实例
1. 创建一个web类型的应用
2. 使用SVN工具将代码上传到服务器(以Linux系统为例)
$ sudo apt-get install subversion
$ mkdir svnclient
$ cd svnclient
$ svn co https://svn.sinaapp.com/xxxxxx
输入用户名是注册邮箱,密码是sae密码,并非weibo密码
编辑index.php
$ svn diff
$ svn commit -m "desc"
三、其它
1. 数据存储
大的数据和图片放在storage上,程序相关的可以放在svn代码目录下,代码目录不允许IO操作以防止用户写入数据,利用”saestor://“在storage中进行读写操作,更加安全
2. SAE应用页面,点左侧的服务管理,MYSQL,按“点击初始化MYSQL”按钮,即可以看到数据库的相关信息(IP,端口,用户名,密码等)和权限
3. SAE创建博客类网站
建议使用SAE+WordPress
4. 如果创建应用时选择类型错误,如何修改?
SAE应用界面,左侧点应用设置,修改类型,更新应用信息
SAE应用界面,左侧点代码管理,创建一个新版本,然后将新版本设置为默认版本,最后删除之前错误的版本(默认版本不能删除)
5. 如何数据库
在SAE中开启MYSQL
四、参考
1. GAE与SAE对比
http://www.laokboke.net/2011/10/23/gae-vs-sae/
2. SAE文档中心
http://sae.sina.com.cn/?m=devcenter
3. 如何申请SAE中级开发者认证(用以免费获得云豆)
http://sae.sina.com.cn/?m=devcenter&catId=243
http://ben-lab.com/tech/1586.html
4. SAE+JSon的实现
http://code.google.com/p/bjgs/
5. 作者实现的网站
http://oatmental123.sinaapp.com