ionic是最近一个很流行的Hybird移动开发解决方案,个人兴趣研究了一下,还是不错的
https://github.com/driftyco/ionic
$npm install -g cordova ionic
或者下载github上项目代码进行构建(不推荐)
JAVA_HOME D:/program file/java/jdk_1.7.34/ path D:/program file/java/jdk_1.7.34/bin classpath C:/apache-ant-1.8.1/lib
测试方法:java -version
ANT_HOME C:/ apache-ant-1.9.5 path C:/ apache-ant-1.9.5/bin classpath C:/apache-ant-1.9.5/lib
测试方法:ant -version
ANDROID_HOME D:/android-sdk-windows path D:/androidandroid-sdk-windowstools classpath D:/androidandroid-sdk-windowstoolslib
测试方法:android
必须掌握的两个命令:abd start-server/ adb kill-server,用于启动android debug服务,adb使用与启动模拟器或是通过手机的自动安装调试,并可以看到log信息。这两个命令会经常用到
然后 命令行运行一下tns,如果看到以下提示信息,就可以开始第一个开发了。
# NativeScript
┌─────────┬─────────────────────────────
───────────────────────────────────┐
│ Usage │ Synopsis │
│ General │ $ tns <Command> [Command Parameters] [--command <Options>] │
│ Alias │ $ nativescript <Command> [Command Parameters] [--command │
│ │ <Options>] │
└─────────┴─────────────────────────────
───────────────────────────────────┘
$ ionic start projectName tabs $ cd projectName ├── bower.json // bower dependencies ├── config.xml // cordova configuration,例如标题和入口页面 ├── gulpfile.js // gulp tasks ├── hooks // custom cordova hooks to execute on specific commands ├── resources // custom static files such as icon ├── ionic.project // ionic configuration ├── package.json // node dependencies ├── platforms // iOS/Android specific builds will reside here ├── plugins // where your cordova/ionic plugins will be installed ├── scss // scss code, which will output to www/css/ └── www // application - what we need pay attention。JS code and libs, CSS, images, etc.
$ ionic platform add ios $ ionic platform add android $ ionic build android/ios $ ionic emulator/run android/ios (emulator将在模拟器上启动,run将在真实手机上启动)
如果能够正常启动,就可以任性的开发了。
对于前端开发来说,只要关注www/下的项目代码就可以了,打包编译后www将会到android项目的asset目录下面。而客户端的主页面是通过一个入口html来开始运行的,如下:
package com.ionicframework.demo862117; import android.os.Bundle; import org.apache.cordova.*; public class MainActivity extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.init(); // Set by <content src="index.html" /> in config.xml loadUrl(launchUrl); } }
这里主页面打包后会生成带上主要的android/ios外壳,界面产生的所有内容由H5实现。
ionic使用了angular作为基础开发库,并用组件化的方案来管理自己的一套前端库,主要用到angular,angular-ui,iconfont,svg等前端技术知识,这里不一一展开了。
http://www.ionicframework.com/docs/components/ ,当然这里有了一套完整的前端开发框架很文档。即如果我们用它来开发应用的话,是需要用它的框架来写代码就可以了。