$ sudo npm install -g phonegap 我没有成功安装,因而安装的cordova $ sudo npm install -g cordova安装完毕以后,就可使用cordova来建立PhoneGap项目。cordova是从PhoneGap提取出来的一个开源项目,在我看来,除了名字不同以外,两者没有什么区别。
$ cordova create hello com.example.hello "HelloWorld" Creating a new cordova project. $ ls hellocreate后面第一个参数hello是新建的项目文件夹名称,第二个参数com.example.hello是公司名称,第三个参数"HelloWorld"是项目名。在当前目录下能够看到多了一个文件夹hello。
$ cd hello $ cordova platform add ios $ cordova prepare至此,就完成了对基于PhoneGap的Hybrid APP项目的建立工做,接下来用XCode来打开这个项目,运行iOS模拟器来检验这个项目可否正常运行。
$ npm install -g yo bower grunt-cli这三个工具安装完毕以后,在以前建立的Hybrid APP项目文件夹下建立一个Web APP的目录,好比叫yo,而后安装用于建立基于angular的Web项目的自动生成器,并运行yeoman来建立一个Web APP项目。
$ mkdir yo $ cd yo $ npm install -g generator-angular $ yo angular项目建立完成后,检查一下项目可否正常运行,在命令行输入
$ grunt serve这样就启动了一个Web服务器来运行刚才建立的Web APP,顺利的话能够在浏览器上看到这个yeoman的实例页面。
// Copies remaining files to places other tasks can use copy: { dist: { files: [{ expand: true, dot: true, cwd: '<%= yeoman.app %>', dest: '<%= yeoman.dist %>', src: [ '*.{ico,png,txt,xml}', '.htaccess', '*.html', 'views/{,*/}*.html', 'images/{,*/}*.{webp}', 'styles/fonts/{,*/}*.*' ] }, { expand: true, cwd: '.tmp/images', dest: '<%= yeoman.dist %>/images', src: ['generated/*'] }, { expand: true, cwd: '../platforms/ios/www', dest: '<%= yeoman.dist %>/scripts', src: [ 'plugins/**', 'cordova.js', 'cordova_plugins.js' ] }] }, styles: { expand: true, cwd: '<%= yeoman.app %>/styles', dest: '.tmp/styles/', src: '{,*/}*.css' } }, // Empties folders to start fresh clean: { dist: { files: [{ dot: true, src: [ '.tmp', '<%= yeoman.dist %>/{,*/}*', '!<%= yeoman.dist %>/.git{,*/}*' ] }] }, server: '.tmp', options: { force: true } },4,修改index.html,在angular的引用以前添加对cordova.js的引用
<script type="text/javascript" src="scripts/cordova.js"></script>5,在命令行运行grunt build,打包整个Web APP项目,而后拷贝yo/dist下全部文件到Hybrid APP项目的www目录下
$ grunt build6,来到Hybrid APP项目的根目录,在命令行运行cordova prepare
$ cordova prepare7,用Xcode打开Hybrid APP项目,运行iOS模拟器,能够看到Web APP已经成功的在iOS上运行了。
echo '### Sync APP to Platforms ###' echo 'Building web APP...' echo 'Please be patient, it may take several minutes' grunt build sourceDir="dist" targetDir="../www" allFiles="/*" if [ -d $sourceDir ] then if [ ! -d $targetDir ] then mkdir -p $targetDir fi echo 'Copying source files to www/' cp -r $sourceDir$allFiles $targetDir echo 'Calling cordova prepare' cd .. cordova prepare echo 'All done' else echo 'Err: The source directory "dist" doesnot exist, use command "grunt build" to generate it firstly' fi
但想要开发高效率的应用,公认仍是作原生开发更好,iOS原生应用开发入门教程推荐王寒的编纂的《从零开始学iOS7开发系列》,教程写的很是生动易懂,文章里的例子也颇有表明性,仔细学习和琢磨以后能够触类旁通开发本身的应用。其实Hybrid APP开发早已经不限于移动平台了,我最先接触到的Hybrid APP是家用主机平台,在XBOX ONE上,微软也实现了供JavaScript调用的XBOX系统API,将Web APP经过Visual Studio打包后发布到主机上就能够运行。既然HTML5和CSS3在制做用户界面上巨大的潜力,采用Hybrid APP方式确实能够极大的帮助Web开发人员开发浏览器平台之外的应用。 javascript