在PaaS上开发Web、移动应用(2)

简介: 在PaaS上开发Web、移动应用(2)PaaS学习笔记目录PaaS基础学习(1)在PaaS上开发Web、移动应用(2)PaaS优点与限制(3)6. 巨型代码,是指持续不断地向一个应用程序添加功能,不停地增加新的特性如搜索功能、账户管理、博客发布等。在开发速度以及在适应扩展需求的总体架构之间进行权衡。新技术的面向服务架构(SOA)在

在PaaS上开发Web、移动应用(2)

PaaS学习笔记目录

PaaS基础学习(1)

在PaaS上开发Web、移动应用(2)

PaaS优点与限制(3)

6. 巨型代码,是指持续不断地向一个应用程序添加功能,不停地增加新的特性如搜索功能、账户管理、博客发布等。

在开发速度以及在适应扩展需求的总体架构之间进行权衡。

  • 新技术的面向服务架构(SOA)在Web应用的复兴
  • 标准技术(例如REST)也让服务更统一和易维护。

7. JSON

JSON(JavaScript Object Notation)是作为在API服务内部传输数据的标准出现的,它可作为替换XML的备选方案之一。
如:
{
“id”:1,
“name”:”Programming for PaaS”,
“price”:123,
“tags”:[“PaaS”,”Programming”]
}

8. REST(表述性状态转移)

REST(Representational State Transfer)是诸如Web应用之类的分布式系统的一种架构模式。
- 通过复用HTTP的基础操作,如GET、POST、PUT以及DELETE,REST已经成为了一种主流服务设计模型。
- REST背后的原则的基本原则就是通过提供一个共享的网络词汇,以一种标准的、可预测的格式来传输资源。
如:一个基于REST的用于管理用户数据的JSON服务:

GET

列出资源(可以被缓存)
- http://example.com/users
Header:
  none
Response:
[
  {'id':123,
  'name':'a'},
  {'id':124,
  'name':'b'}
]
- http://example.com/users/123
Header:
  none
Response:
{'id':123,
'name':'a'}
- http://example.com/users?name=b
Header:
  none
Response:
[
{'id':124,
'name':'b'}
]

PUT
更新资源(不可缓存)

- http://example.com/users
Header:
[
{'id':123,
'name':'x'},
{'id':124,
'name':'y'}
]
Response:
  200 OK
- http://example.com/users/123
Header:
  {'id':123,
  'name':'x'}
Response:
  200 OK
- http://example.com/users?name=b
Header:
[
{'id':124,
'name':'y'}
]
Response:
  200 OK

POST
创建新资源(不可缓存)

- http://example.com/users
Header:
{'id':125,
'name':'c'}
Response:
  200 OK
-http://example.com/users/123
  Not used
-http://example.com/users?name=b
  创建新资源的时候不需要查询字符串

DELETE
  删除资源(不可缓存)
- http://example.com/users
Header:
  None
Response:
  200 OK
Note:
  Deleted all users
-http://example.com/users/123
Header:
  None
Response:
  200 OK
Note:
  Deleted only user 123
- http://example.com/users?nmae=b
Header:
  None
Response:
  200 OK
Note:
  Deleted all users named b

9. 元服务

元服务是一种基于REST的应用程序,用于为数据的集合提供服务。

10. 瘦Web客户端

元服务可以直接在浏览器中调用。

11. 胖Web客户端

诸如SproutCore(http://SproutCore.com)和Cappucino(http://www.Cappucinoproject.org)可以作为数据绑定的构建模块。
SproutCore和Cappucino为我们提供了构建模块,通过一种非常标准的方法将这些基础元素组合在一起,就可以构建现代应用程序。
这些应用无论在Web还是移动客户端都让人感觉到类似桌面应用的效果。

12. 移动客户端的PaaS

iOS

REST的框架:RestKit

Android

采用Java语言的Android本地应用也可以简单快速地访问元服务以及获取数据。
- 自己动手构建,采用Android的异步网络操作
1. 将AsyncTask类扩展为异步任务类
2. 创建一个URLConnection并且将数据转换为字符串
3. 将结果处理为Java对象
Java实例代码:

//通过新的GetRESTData().excute()在一个服务中执行;
private class GetRESTData extends AsyncTask <Void,Void,String>{

  @Override
  protected String doInBackground(Void... params){
    URL url = new URL("http://example.com/users");

    URLConnection urlConnection = url.openConnection();
    InputStream in = new
      BufferedInputStream(urlConnection.getInputStream());
    BufferedReader reader = new
      BufferedReader(new InputStreamReader(in));
    String result,line = reader.readLine();
    result = line;
    while((line = reader.readLine())!=null){
      result += line;
    }
    in.close();

    return result;
  }

  protected void onPostExecute(String restResult){
    //process the JSON string into Java object
    //and persist it into a SQLite database
  }
}
  • 使用开源或者专有的框架

Android上的REST框架:Restlet
Restlet可以从基于REST的源获取数据时,极大地节省开发者的时间和精力。
RestLet的简单实例:

public interface UserResource{
  @Get
  public User retrieve();

  @Put
  public void store(User user)

  @Delete
  public void remove();
}

ClientResource cr = new ClientResource("http://example.com/users/123");
//获取用户对象
UserResource resource = cr.wrap(UserResource.class);
User user = resource.retrieve();
目录
相关文章
|
9天前
|
关系型数据库 MySQL
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
|
19小时前
|
编解码 数据库 计算机视觉
LabVIEW开发基于Web数字图像处理
LabVIEW开发基于Web数字图像处理
|
3天前
|
前端开发 JavaScript Java
Java与Web开发的结合:JSP与Servlet
Java与Web开发的结合:JSP与Servlet
8 0
|
3天前
|
存储 程序员 API
python web开发示例详解
python web开发示例详解
13 0
|
3天前
|
XML 前端开发 JavaScript
CSR(客户端渲染)和AJAX在Web开发中各自扮演不同的角色
【5月更文挑战第8天】CSR(客户端渲染)与AJAX在Web开发中各司其职。CSR提供初始HTML框架,通过JavaScript在浏览器端获取并渲染数据,提升交互性和响应速度。AJAX则实现页面局部更新,如实时搜索,不刷新页面即可获取数据。CSR可能因DOM操作多而引发性能问题,但可优化解决;AJAX适合频繁交互场景,提高响应性。两者在不同需求下各有优势,需按项目选择适用技术。
13 4
|
3天前
|
前端开发 搜索推荐 安全
AJAX和CSR(客户端渲染)是Web开发中常用的两种技术
【5月更文挑战第8天】AJAX提升用户体验,减轻服务器压力,但对搜索引擎不友好且增加开发复杂度,易引发安全问题。CSR提供快速响应和交互性,改善用户体验,但首屏加载慢,搜索引擎支持不足,同样面临安全挑战。两者各有适用场景,需按项目需求选择。
10 0
|
4天前
|
前端开发 JavaScript 开发者
新一代前端框架:革命性的Web开发利器
传统的前端框架在满足日益复杂的Web开发需求上逐渐显露出局限性,而新一代前端框架的出现,以其革命性的设计和功能,重新定义了Web开发的标准。本文将介绍这些新一代前端框架的特点和优势,并探讨它们在实际项目中的应用。
|
6天前
|
安全 测试技术 PHP
掌握现代Web开发:PHP 8的新特性与最佳实践
【5月更文挑战第5天】 在当今快速发展的网络世界中,PHP作为一种流行的服务器端脚本语言,持续地演化着。最新的PHP 8版本引入了一系列令人兴奋的新特性和性能改进,为开发者提供了更加强大和灵活的工具。本文将深入探讨PHP 8中的新特性,包括联合类型、名称参数、匹配表达式等,并分享一些最佳实践,帮助开发者提高代码质量,优化性能,并确保安全性。通过这些实用技巧和示例,您将能够构建更高效、更安全的PHP应用程序。
|
11天前
|
开发框架 JavaScript 前端开发
【JavaScript 与 TypeScript 技术专栏】TypeScript 在 Web 开发中的前沿应用
【4月更文挑战第30天】TypeScript在Web开发中日益重要,以其强大的类型系统提升代码质量,支持组件化开发,与React、Vue、Angular等框架良好集成。在大型项目管理中,TypeScript助于代码组织和优化,提高团队协作效率。此外,它提升开发体验,提供智能提示和错误检测。众多成功案例证明其前沿应用,未来将在Web开发领域持续发挥关键作用。