如果您是通过网盘下载SDK的zip包,需要自行安装JRE并且解压。SDK的基本目录结构:
bin目录:管理工具启动脚本程序。Windows *** 作系统,启动NewStartServerbat或者StartServerbat。非Windows *** 作系统,启动startServersh。特别提醒,确保 *** 作系统中使用最新的JRE 6以上版本
conf目录:SDK服务器的配置文件,请不要随意修改
db目录:存放SDK本地数据库文件,请不要随意修改
lib目录:SDK服务器依赖的类库文件,请不要随意修改
sdk_open_apiphp文件:SDK支持的开放API接口,属于数据开放接口,TAE应用也可以使用
tae_open_apiphp文件:TAE支持的开放API接口,为TAE提供基础服务,作为sdk_open_apiphp的补充
topclientphp文件:淘宝开放平台(TOP)的服务调用接口
启动SDK工具
根据具体 *** 作系统,启动bin目录中的启动脚本。本例中使用的Windows *** 作系统运行的结果:
SDK将会自动启动用户偏好的浏览器:
注意:服务器端口,与后面的访问的时候的端口保持一致。
当前SDK工具没有提供TAE APP的应用管理页面,而是需要开发者手动绑定开发。接下来具体介绍如何开发TAE应用。
成功启动后,目录结构会发生变化:
不难发现,apps目录被自动创建了,该目录就是管理TAE 应用的目录。
目录结构及配置
首先,使用投票应用voteapp为例,其目录结构如下图:
从上图中,可以初步了解一个应用APP的目录基本结构,接下来,详细详细介绍各个目录的作用以及规范。
静态资源目录:assets目录,包括js、css和文件。文件均存放在imagse子目录中,页面渲染样式CSS文件都存放在stylesheets目录中,而Javascripts目录则是管理JavaScript脚本文件。后面的章节会具体介绍如何访问这些资源文件。
数据库访问目录:dao目录的文件复制数据库访问和sql的封装。例如上图中dbconfigphp则利用PHP的PDO技术,管理配置数据库数据源,即PDO对象。其他的vote_xxx_daophp则是数据库访问对象(DAO)的封装。
应用服务目录:service目录管理封装了相关的应用相关的核心业务逻辑PHP页面。所谓的服务,就是为视图页面提供服务调用的接口,实现业务逻辑,减少代码耦合度。
视图文件目录:view目录是web层,负责页面的布局、内容的展现和请求跳转控制,tae web层的使用smarty模板引擎, tae自己实现了url的控制和映射,具体使用见配置文件。
appyml是应用的配置文件,demo中具体的目录可以通过配置文件统一配置,具体配置项见下文。
根目录下appyaml文件定义了该应用的具体组成部分, 具体介绍如下:
!!comtaobaotaeconfigdomainConfig
#应用元信息
title: voteapp
description: 投票应用新的结构
version: 10
language: php
author: shihong
thumbnail: /aaajpg
#type: 1 tae 模块 2 独立站点
type: 2
#全局css的配置
css: /assets/stylesheets/gcss
#首页 通过域名直接访问的页面如testuztaobaocom访问时的页面
index: /view/front/viewphp
#>检查点主要有这几个函数:
web_find(),web_image_check,web_reg_find。其中前面两个需要手动在设置里面开启才会生效(按F4,首选项-启用图像和文本检查),并且录制的模式是基于HTML的脚本。
位置:前面两个函数都是放在要检查的请求后面,后面那个放在要检查的请求前面。
插入方法:
1、在脚本界面,右键插入-新建步骤-展开web检查-有图像检查和文本检查(就是前面两个函数),选中文本检查,下面有个下拉框可以选择web_reg_find。
2、在树视图,在请求上右键,选择在之前插入或在之后插入。
3、手打。
建议:不建议用前面两个,效率低,建议用最后一个,用于在服务器返回的数据中查找指定的字符串。你可以在树视图中看到服务器返回的数据。随着HTML5和Nodejs的流行,Javascript这门在互联网初期就已诞生的语言正迸发出勃勃生机,Javascript将前端和后端开发统一起来,“一切皆为JS”看起来只是时间的问题。唯一的障碍是在移动端,因为无论是Android还是iOS平台,当前仍是原生应用大行其道。HTML5曾经被寄予厚望过,但是以Facebook为代表的一批公司在移动端对HTML5技术进行实践的心酸血泪史表明,HTML5可以是原生应用开发的一种有效补充,但远不足以替代原生。但是现在,随着iMAGjs的渐渐流行,这种状况正在发生改变。
iMAGjs是国内的爱码哥移动平台推出的Javscript移动跨平台开发框架,它的特点简单高效,同时又功能强大,可以用Javascript来替代原生开发。iMAGjs的原理和在服务器端运行的Nodejs有些相似,都是封装了Javascript引擎,用Javascript去调用底层的API接口。不同的是因为移动应用的控件主要是UI模块、用户交互界面开发,iMAGjs为此引入了XML模板技术,XML和Javascript结合,这样很适合手机界面的展示。
H5开发的web APP和原生APP的区别有以下几个方面:
一、开发方面
原生App
⊙ 每一种移动 *** 作系统都需要独立的开发项目
⊙ 每种平台都需要独立的开发语言。Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)等等
⊙ 需要使用各自的软件开发包,开发工具以及各自的控件
移动Web App
⊙ 因为运行在移动设备的浏览器上,所以只需要一个开发项目
⊙ 这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,Ruby on Rails,Python)
⊙ 这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap, Sencha Touch 2,APPcan以及Appcelerator Titanium等等。
二、能力方面
原生App
⊙ 能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速等等
移动Web App
⊙ 只能使用有限的移动硬件设备功能。
三、获取方法
原生App
⊙ 直接下载到设备
⊙ 以独立的应用程序运行(并不需要浏览器)
⊙ 用户必须手动去下载并安装这些原生App
⊙ 有一些商店与卖场来帮助用户寻找你的App,目前app市场不计其数
移动Web App
⊙ 从移动设备上的浏览器访问
⊙ 不需要安装额外的软件
⊙ 软件更新只需要服务器就够了
⊙ 因为现在没有什么商品或卖场提供这种App,所以如何搜索这些移动Web App相当不简单。
四、版本控制
原生App
⊙ 用户可以自由地选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况
移动Web App
⊙ 所有的用户都是用同样的版本
五、优势
原生App
⊙ 比移动Web App运行快
⊙ 一些商店与卖场会帮助用户寻找原生App
⊙ 官方卖场的应用审核流程会保证让用户得到高质量以及安全的App
⊙ 官方会发布很多开发工具或者人工支持来帮助你的开发
移动Web App
⊙ 跨平台开发
⊙ 用户不需要去卖场来下载安装App
⊙ 任何时候都可以发布App,因为根本不需要官方卖场的审核
⊙ 如果你已经有了一个Web App,你可以使用 responsive web design来辅助改进
六、缺陷
原生App
⊙ 开发成本高,尤其是当需要多种移动设备来测试时
⊙ 因为是不同的开发语言,所以开发,维护成本也高
⊙ 因为用户使用的App版本不同,所以你维护起来很困难
⊙ 官方卖场审核流程复杂且慢,会严重影响你的发布进程
移动Web App
⊙ 无法使用很多移动硬件设备的独特功能
⊙ 要同时支持多种移动设备的浏览器让开发维护的成本也不低
⊙ 如果用户使用更多的新型浏览器,那问题就更不好处理了
⊙ 对于用户来说,这种App很难被用户发现
附:原生App 与 移动Web App:您如何选择?
所以在你准备做移动App时,你应该先问问自己以下几个问题:
1 你的应用是否需要使用某些设备的特殊功能,比如摄像头,摄像头闪光灯或者重力加速
2 你的开发预算是多少?
3 你的应用是否一定需要网络
4 你的应用的目标硬件设备是所有的移动设备还是仅仅只是一部分而已
5 你自己已经熟悉的开发语言
6 这个应用对于性能要求是否苛刻
7 如何靠这个应用赢利这是一个简单的投票程序,对于刚学PHP和朋友来说是一个很不错的入门程序。在这里给大家介绍一下,希望能对朋友们有所帮助。该系统是由以下四个文件组成的:有HTML调查表单的surveyhtm,实现调查功能的surveyphp,记录调查项目的datatxt和记录调查结果的surveytxt其中datatxt和surveytxt我们可以用NOTEPAD分别创建之,并传到程序目录下。文件datatxt中存的是要进行调查的项目,注意每个项目应占一行;而surveytxt则可以是一个什么内容也没有的空文件。Surveyhtm的代码可以如如下所示:<html>
<head>
<title>survey</title>
</head>
<body>
<form method="POST" action="surveyphp">
<p><input type="radio" value="0" name="vote">调查项目一</p>
<p><input type="radio" name="vote" value="1">调查项目二</p>
<p><input type="radio" name="vote" value="2">调查项目三</p>
<p><input type="radio" name="vote" value="3">调查项目四</p>
<p><input type="radio" name="vote" value="4">调查项目五</p>
<p><input type="hidden" name="go" value="1">
<p><input type="submit" value="提交" name="B1"></p>
<a href="surveyphpresult=1">查看结果</a>
</form>
</body>
</html>注意文件datatxt中的调查项目与上面的调查项目在个数和排列顺序必须保持一致,否则会出错或调查的结果不准确。同时为了将调查结果显示成条形图形式,应该准备若干种不同颜色的条形。如:0gif,1gif,2gif,3gif,4gif等以下是实现调查功能的surveyphp代码:<
$data="datatxt";
$votes="surveytxt";
$dataf=file($data); /读出调查项目文件中的项目/
$file_votes=fopen($votes, "r");
$line_votes=fgets($file_votes, 255); /读出已经记录的调查结果/
fclose($file_votes);
$single_vote=explode("|", $line_votes); / 并将数据按指定的字串切开,再将字串传回到数组变量中 /
if ($result!=1) /如果已经接受了调查/
{
$file_votes=file($votes, "r");
if ($REMOTE_ADDR == $file_votes[1]) /检查是不是同一个人/
{
echo "<center><font color=red>您已投过票了,谢谢您的参与!</font></center>";
exit;
}
/如果IP不重复,则执行以下程序/
$ficdest=fopen($votes, "w");
for ($i=0; $i<=count($dataf)-1; $i++)
{
if ($i == $vote)
{ /判断选择了哪个项目/
$single_vote[$i]+=1;
}
fputs($ficdest, "$single_vote[$i]|"); /将数据写回文件/
}
fputs($ficdest, "\n$REMOTE_ADDR");/ //写入投票者IP/
fclose($ficdest);
$result=1; /投票成功/
}
/写入投票结果后并显示投票结果/
if ($result==1)
{
echo "<table cellpadding=10>";
for ($i=0; $i<=count($dataf)-1; $i++)
{
/取得投票总数/
$tot_votes+=$single_vote[$i];
}
for ($i=0; $i<=count($dataf)-1; $i++)
{
$imag=strval($i)"gif";/判断用哪种条形来显示统计结果/
$stat[$i]=$single_vote[$i]/$tot_votes100; /计算百分比/
$scla=$stat[$i]5;/条形图和放大倍数,这里是安百分数的5倍的相素的宽度来显示的/
echo "<tr><td><li><font face=Verdana size=2>";
echo "$dataf[$i]</font></td><td align=left><font face=Verdana size=2>";
echo "<img src=\"$imag\" height=20 width=$scla align=middle> ";/输出条形码图/
printf("%1f", "$stat[$i]");
echo "%</font></td><td align=center><font face=Verdana size=2>";
/输出本栏目投票数/
echo "$single_vote[$i]</font>";
echo "</td></tr>";
}
echo "</table><p>";
echo "<font face=Verdana size=2>总投票数:$tot_votes </font>";
}
> 说明: 在这里为了防止一人多投是采用记录最近的一位投票者的IP的方法来实现的,而最近的一位投票的IP地址是WEB客户机在对服务器发出请求时存储在环境变量REMOTE_ADDR中的。 我也是一个初学者,关于这篇文章可能有许多错误和不当之处欢迎各位提出宝贵的意见和建议。谢谢!
--------------------------------------------------------------------------------
直接下载源码 >
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)