Notes for a front-end developer, esyou.net

0%

利用Cordova,JQ与WP-REST-API制作一个属于自己博客的移动APP

你有一个自己的WordPress博客?想要制作一个个人博客的APP吗?这样一个APP要怎么才能实现?其实可以直接通过HTML+css的方法直接实现,大家应该听说过PhoneGap这个东东了吧,PhoneGap简单的说就是让一些专门做前端开发的开发者通过简单的HTML与CSS及javascript代码来实现一个手机端的APP,目前PhoneGap已将相应的核心技术贡献给了Apache,Apache利用PhoneGap的核心技术,又重新塑造了一个名为cordova的APP开发工具,下面重点介绍下Cordova。

开发工具

Cordova

首先Cordova为Apache一个开源项目,主要应用于手机端APP,主要通过HTML、CSS以及javascript这类基本的前端开发语言来进行开发和功能的实现。
Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。
Cordova还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码。
Cordova支持如下移动操作系统:iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。

jqurey

jqurey这里就不用介绍了,做前端的应该都知道这个javascript开源库。

wp-reset-api

首先需要在WordPress后台安装wp-reset-api插件,此插件有相应的说明文件和使用方法,相关文档也可以到WordPress官方查看。

NetBeans、elipse、Visual Studio

目前这几个开发工具最新版都集成了Cordova开发环境,因此你不用再去搭建另一个开发环境。

开发思路

首先wp-reset-api插件是一个WordPress程序的json插件,我们可以通过此json插件,利用jqurey来将json数据读出,并使用html与CSS将其数据一一显示和布局出来。

相关重要代码

html页面

正如咋们进行手机端web前端开发一样,必须让其页面设计为响应式,一定要记得html页面中加入如下代码

1
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">

jqurey获取json相关代码

获取所有文章的jqurey代码

1
//以下javascript代码主要为获取WordPress文章wp-reset-api获取文章使用的是http://www.xxx.com/wp-json/posts的方式进行获取文章列表json
2
getPosts: function() {
3
    console.log('app.getPosts');
4
    var rootURL = 'http://www.egtch.com/wp-json';
5
    $.ajax({
6
        type: 'GET',
7
        url: rootURL + '/posts',
8
        dataType: 'json',
9
        success: function(data){
10
            $.each(data, function(index, value) {
11
                $('ul.topcoat-list').append('<li class="topcoat-list__item">' +
12
                '<h3><a class="view-link" href="#'+value.ID+'">'+value.title+'</a></h3>' +
13
                '<p>'+value.excerpt+'</p></li>');
14
            });
15
        },
16
        error: function(error){
17
            console.log(error);
18
        }
19
    });
20
},
21
//以下代码为显示文章内容的javascript所通过相应的json文章ID获取文章内容wp-reset-api使用的方法为http://www.xxx.com/wp-json/posts/103,103即文章ID
22
getSinglePost: function(postID) {
23
    console.log('getSinglePost');
24
    var rootURL = 'http://www.egtch.com/wp-json';
25
    $.ajax({
26
        type: 'GET',
27
        url: rootURL + '/posts/' + postID,
28
        dataType: 'json',
29
        success: function(data){
30
            console.log(data);
31
            $('.single-post .title').append(data.title);
32
            $('.single-post .content').append(data.content);
33
        },
34
        error: function(error){
35
            console.log(error);
36
        }
37
    });
38
},

4、相关效果