`

移动端安卓和IOS开发框架Framework7使用及打包

阅读更多

基本布局

    在这个基本APP中我们使用iOS主题。

    我们首选需要创建一个 index.html 文件。

这是一个 iOS 单页应用,有一个 view, left panel 和 动态穿透布局的navbar 和 toolbar:

  1. <!DOCTYPE html>
  2. <html>
  3.   <head>
  4.     <!-- Required meta tags-->
  5.     <meta charset="utf-8">
  6.     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
  7.     <meta name="apple-mobile-web-app-capable" content="yes">
  8.     <meta name="apple-mobile-web-app-status-bar-style" content="black">
  9.     <!-- Your app title -->
  10.     <title>My App</title>
  11.     <!-- Path to Framework7 iOS CSS theme styles-->
  12.     <link rel="stylesheet" href="path/to/framework7.ios.min.css">
  13.     <!-- Path to Framework7 iOS related color styles -->
  14.     <link rel="stylesheet" href="path/to/framework7.ios.colors.min.css">
  15.     <!-- Path to your custom app styles-->
  16.     <link rel="stylesheet" href="path/to/my-app.css">
  17.   </head>
  18.   <body>
  19.     <!-- Status bar overlay for full screen mode (PhoneGap) -->
  20.     <div class="statusbar-overlay"></div>
  21.     <!-- Panels overlay-->
  22.     <div class="panel-overlay"></div>
  23.     <!-- Left panel with reveal effect-->
  24.     <div class="panel panel-left panel-reveal">
  25.       <div class="content-block">
  26.         <p>Left panel content goes here</p>
  27.       </div>
  28.     </div>
  29.     <!-- Views -->
  30.     <div class="views">
  31.       <!-- Your main view, should have "view-main" class -->
  32.       <div class="view view-main">
  33.         <!-- Top Navbar-->
  34.         <div class="navbar">
  35.           <div class="navbar-inner">
  36.             <!-- We need cool sliding animation on title element, so we have additional "sliding" class -->
  37.             <div class="center sliding">Awesome App</div>
  38.             <div class="right">
  39.               <!-- 
  40.                 Right link contains only icon - additional "icon-only" class
  41.                 Additional "open-panel" class tells app to open panel when we click on this link
  42.               -->
  43.               <a href="#" class="link icon-only open-panel"><i class="icon icon-bars-blue"></i></a>
  44.             </div>
  45.           </div>
  46.         </div>
  47.         <!-- Pages container, because we use fixed-through navbar and toolbar, it has additional appropriate classes-->
  48.         <div class="pages navbar-through toolbar-through">
  49.           <!-- Page, "data-page" contains page name -->
  50.           <div data-page="index" class="page">
  51.             <!-- Scrollable page content -->
  52.             <div class="page-content">
  53.               <p>Page content goes here</p>
  54.               <!-- Link to another page -->
  55.               <a href="about.html">About app</a>
  56.             </div>
  57.           </div>
  58.         </div>
  59.         <!-- Bottom Toolbar-->
  60.         <div class="toolbar">
  61.           <div class="toolbar-inner">
  62.             <!-- Toolbar links -->
  63.             <a href="#" class="link">Link 1</a>
  64.             <a href="#" class="link">Link 2</a>
  65.           </div>
  66.         </div>
  67.       </div>
  68.     </div>
  69.     <!-- Path to Framework7 Library JS-->
  70.     <script type="text/javascript" src="path/to/framework7.min.js"></script>
  71.     <!-- Path to your app js-->
  72.     <script type="text/javascript" src="path/to/my-app.js"></script>
  73.   </body>
  74. </html>
复制

初始化APP

我们写好布局,引用了 Framework7 的JS和CSS之后,我们需要初始化 APP 和 View.

在我们的 my-app.js 文件中这样写:

  1. // Initialize app
  2. var myApp = new Framework7();
  3. // If we need to use custom DOM library, let's save it to $$ variable:
  4. var $$ = Framework7.$;
  5. // Add view
  6. var mainView = myApp.addView('.view-main', {
  7.   // Because we want to use dynamic navbar, we need to enable it for this view:
  8.   dynamicNavbar: true
  9. });
复制

再添加一个Page

我们添加一个 "about app"页面,放在 about.html 文件中

  1. <!-- We don't need full layout in this file because this page will be parsed with Ajax. It is just enough to put here .navbar and .page-->
  2. <!-- Top Navbar-->
  3. <div class="navbar">
  4.   <div class="navbar-inner">
  5.     <div class="left">
  6.       <a href="#" class="back link">
  7.         <i class="icon icon-back-blue"></i>
  8.         <span>Back</span>
  9.       </a>
  10.     </div>
  11.     <div class="center sliding">About</div>
  12.     <div class="right">
  13.       <a href="#" class="link icon-only open-panel"><i class="icon icon-bars-blue"></i></a>
  14.     </div>
  15.   </div>
  16. </div>
  17. <div class="pages">
  18.   <div data-page="about" class="page">
  19.     <div class="page-content">
  20.       <div class="content-block">
  21.         <p>Here is About page!</p>
  22.         <p>Fusce eros lectus, accumsan eget mi vel, iaculis tincidunt felis. Nulla tincidunt pharetra sagittis. Fusce in felis eros. Nulla sit amet aliquam lorem, et gravida ipsum. Mauris consectetur nisl non sollicitudin tristique. Praesent vitae metus ac quam rhoncus mattis vel et nisi. Aenean aliquet, felis quis dignissim iaculis, lectus quam tincidunt ligula, et venenatis turpis risus sed lorem. Morbi eu metus elit. Ut vel diam dolor.</p>
  23.       </div>
  24.     </div>
  25.   </div>
  26. </div>
复制

给about页面添加JS代码

假设我们需要在 about 页面中执行JS代码。因为 about.html 页面是通过JS加载的,我们不能通过在 about.html 中添加 <script> 标签的方式来添加JS代码,因为script标签会直接被忽略。所说,Framework7 提供了简单的回调函数,我们可以在 my-app.js中使用:

  1. // Initialize app and store it to myApp variable for futher access to its methods
  2. var myApp = new Framework7();
  3. // We need to use custom DOM library, let's save it to $$ variable:
  4. var $$ = Framework7.$;
  5. // Add view
  6. var mainView = myApp.addView('.view-main', {
  7.   // Because we want to use dynamic navbar, we need to enable it for this view:
  8.   dynamicNavbar: true
  9. });
  10. // Now we need to run the code that will be executed only for About page.
  11. // For this case we need to add event listener for "pageInit" event
  12. // Option 1. Using one 'pageInit' event handler for all pages (recommended way):
  13. $$(document).on('pageInit', function (e) {
  14.   // Get page data from event data
  15.   var page = e.detail.page;
  16.   
  17.   if (page.name === 'about') {
  18.     // Following code will be executed for page with data-page attribute equal to "about"
  19.     myApp.alert('Here comes About page');
  20.   }
  21. })
  22. // Option 2. Using live 'pageInit' event handlers for each page
  23. $$(document).on('pageInit', '.page[data-page="about"]', function (e) {
  24.   // Following code will be executed for page with data-page attribute equal to "about"
  25.   myApp.alert('Here comes About page');
  26. })
复制

引入文件

  1. <link rel="stylesheet" href="framework7.ios.min.css">
  2. <link rel="stylesheet" href="framework7.ios.colors.min.css">
  3. <script type="text/javascript" src="framework7.min.js"></script>
复制

在线实例

  1. <!DOCTYPE html>
  2. <html>
  3.   <head>
  4.     <meta charset="utf-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
  6.     <meta name="apple-mobile-web-app-capable" content="yes">
  7.     <meta name="apple-mobile-web-app-status-bar-style" content="black">
  8.     <title>My App</title>
  9.     <link rel="stylesheet" href="//ku.shouce.ren/libs/fk7/1.4.2/css/framework7.ios.min.css">
  10.     <link rel="stylesheet" href="//ku.shouce.ren/libs/fk7/1.4.2/css/framework7.ios.colors.min.css">
  11.   </head>
  12.   <body>
  13.     <div class="views">
  14.       <div class="view view-main">
  15.         <div class="pages">
  16.           <div data-page="home" class="page">
  17.             <div class="page-content">
  18.               <div class="navbar">
  19.                 <div class="navbar-inner">
  20.                   <div class="left"></div>
  21.                   <div class="center">Static Navbar</div>
  22.                   <div class="right"></div>
  23.                 </div>
  24.               </div>
  25.               <div class="content-block">
  26.                 <p><a href="/api/framework7/bars-static-about.html">About page</a></p>
  27.                 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse at nibh felis. Nunc consequat diam et tellus tempor gravida. Donec hendrerit aliquet risus, ut tempor purus dictum sit amet. Integer sit amet lacus eget ipsum pulvinar interdum. Proin semper turpis sed placerat dapibus. Sed iaculis id nibh a viverra. Sed vitae tellus sed purus lacinia dignissim. Aenean sagittis interdum leo in molestie. Aliquam sodales in diam eu consectetur. Sed posuere a orci id imperdiet.</p>                
  28.               </div>
  29.               <div class="toolbar">
  30.                 <div class="toolbar-inner"><a href="#" class="link">Hello</a><a href="#" class="link">World</a></div>
  31.               </div>
  32.             </div>
  33.           </div>
  34.         </div>
  35.       </div>
  36.     </div>
  37.     <script type="text/javascript" src="//ku.shouce.ren/libs/fk7/1.4.2/js/framework7.min.js"></script>
  38.     <script>
  39.       var myApp = new Framework7();
  40.       var mainView = myApp.addView('.view');
  41.     </script>
  42.   </body>
  43. </html
复制

效果预览

打包安装

使用DCloud+Framework7打包制作移动APP应用

 

1
1
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    HTML移动端框架Framework7 1.6.4.zip

    使用HTML移动端框架Framework7 1.6.4进行开发时,你需要理解的关键概念有: - **页面路由**:Framework7通过JavaScript实现了基于URL的页面导航,使得Web应用能够模拟原生应用的页面切换效果。 - **组件**:框架内...

    参考HiApp搭建的一款基于Framework7Vue和H5Plus的商城模板

    "参考HiApp搭建的一款基于Framework7Vue和H5Plus的商城模板" 这个标题表明,这是一个使用了HiApp作为参考的,结合了Framework7、Vue.js和H5Plus技术来构建的移动端电商应用模板。它旨在为开发者提供一个快速启动的...

    常用的移动端和前端的资源

    React Native是由Facebook开发的开源框架,它允许开发者用JavaScript和React语法构建原生的iOS和Android应用。通过React的声明式编程模型和组件化思想,开发者可以实现高效且可复用的代码,大大简化了移动应用的开发...

    AureliaFramework7一个轻量级的移动应用平台

    Framework7则是一款流行的移动应用UI框架,它提供了一套完整的iOS和Android风格的组件,包括导航栏、侧滑菜单、表单元素等,使得开发者可以快速构建出原生感观的应用界面。当Aurelia与Framework7结合时,开发者可以...

    h5制作移动端专题活动页面可视化编辑

    4. **Quasar Framework**:除了提供UI组件,还支持PWA(渐进式Web应用)和多平台应用开发,如iOS、Android原生应用。 四、H5页面构建流程 1. **需求分析**:明确页面目标、交互设计和视觉风格。 2. **原型设计**:...

    第10章 跨平台开发:Weex1

    通过Weex,开发者可以快速构建功能丰富的移动应用,同时兼顾性能和开发效率。 总结,Weex作为一个强大的跨平台开发框架,结合了前端的灵活性和原生应用的高性能,为企业级应用开发提供了新的解决方案。随着技术的...

    前端项目-Bridge.NET.zip

    由于 Bridge.NET 能够将 C# 代码编译为 JavaScript,因此开发者可以使用它来创建跨平台的应用程序,不仅支持桌面端(通过 Electron 等框架),还支持移动端(如 iOS、Android)和 Web 应用程序。这种跨平台能力使得...

    基于weex一步一步实现一个较小的采购平台

    它允许开发者使用 JavaScript 来编写原生应用,支持 iOS、Android 以及 Web 平台,大大提升了开发效率和应用性能。在本项目中,我们将基于 Weex 实现一个小型的采购平台,涵盖用户浏览、搜索、购买等基本功能。 ...

    MyIonicApp

    7. **调试与测试**:由于涉及到前端和移动端,调试工具如Chrome DevTools(对于Android模拟器或设备)和 Ionic Serve 可以辅助开发者在开发过程中定位和修复问题。同时,使用模拟器或真实设备进行实际测试是确保应用...

    蚂蚁移动App平台-超级App引擎-对外-v1.0.3

    7. 工程化开发支撑:平台提供了IDE插件、版本管理、构建打包、真机测试等工具和支撑,使开发效率大大提升。它还支持私有云部署,使得开发者可以更便捷地进行协作开发。 8. 功能组件化支持:开发者可以根据需求自由...

    当 Weex 遇上 Vue.js 2.0.pdf

    Weex和Vue.js都是现代前端开发中非常流行的框架,尤其在移动端开发领域备受关注。Weex是由阿里巴巴开发的一个跨平台的移动端开发框架,它允许开发者使用Web开发的技术栈(Vue.js、Rax等)来编写原生的移动应用。Vue....

    ion-master

    7. **前端开发工具链**:使用Ion的项目可能涉及到前端构建工具,如Webpack、Gulp或Grunt,用于编译、打包和优化资源,提高应用性能。 8. **移动端适配**:开发跨平台应用时,需要考虑不同设备的屏幕尺寸、操作系统...

    vue-todolist-f7:F2E周1待办事项清单

    Framework7 是一个开源的HTML5移动应用框架,它模仿了iOS和Android原生应用的界面和交互体验,使得开发者可以使用Web技术构建与原生应用相似的用户体验。在这个项目中,Framework7为Vue.js应用提供了移动端的UI组件...

    Flash 移动应用开发之路

    - **Adobe AIR**:是最常用的方法之一,它允许开发者将Flash应用程序打包为iOS、Android等平台的应用。 - **移动端Flash Player**:虽然iOS不支持Flash Player,但在Android平台上曾经存在。不过,随着移动互联网的...

    ionic 商城源码

    它基于 Angular 并利用 Cordova 或 Capacitor 进行原生功能的集成,使得开发者可以用 Web 技术(HTML、CSS 和 JavaScript)来开发 iOS、Android 和 Progressive Web Apps。在“ionic 商城源码”中,我们可以深入了解...

    HiMaill3.0源码asp.net商城下载

    5. **移动应用开发**:为了满足移动端的需求,HiMaill3.0提供了iOS和Android版本的应用程序,这些应用通常使用Xamarin或React Native等跨平台移动应用开发工具进行构建。 #### 主要功能特性 1. **商品管理**:包括...

    全栈Web和多平台移动应用程序开发

    11. **NativeScript**: 一个开放源代码框架,用于构建原生移动应用,使用JavaScript或TypeScript编写,可以直接访问移动平台的API,创建高性能的iOS和Android应用。 全栈开发意味着开发者需要掌握从前端到后端的...

    公交查询系统 毕业设计c#

    - 移动端应用:可以考虑开发Android或iOS版本,适应移动设备使用。 - 大数据分析:如果数据量大,可以引入大数据处理技术,优化查询性能。 - 人工智能:利用机器学习预测公交到达时间,提升用户体验。 这个公交...

    smartfon_no_ads:smartfon_no_ads

    1. **Python for Mobile App Development**: Python 并不是传统的移动端编程语言,如 Java 或 Kotlin (用于 Android) 和 Swift 或 Objective-C (用于 iOS)。然而,通过一些框架,如 Kivy、Beeware 和 PyQt,开发者...

    Mobister

    在深入开发过程中,开发者通常会使用模块打包工具(如Webpack或Rollup)来管理和优化代码,使用Git进行版本控制,使用ESLint进行代码规范检查,以及使用Jest或Mocha等进行单元测试和集成测试。 为了更好地理解...

Global site tag (gtag.js) - Google Analytics