热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Fries:使用HTML、JavaScript和CSS搭建Android本地接口

受iPhone应用原型设计框架Ratchet的启发,JauneSarmiento创建了Fries——一个用来创建Android应用UI的小型框架,在创建

受iPhone应用原型设计框架Ratchet的启发,Jaune Sarmiento创建了Fries——一个用来创建Android应用UI的小型框架,在创建过程中使用HTML、Javascript和CSS,而无需本地代码。虽然已有许多类似的框架,但Fries对Android 4.0本地接口模仿得尤为出色。

\u0026#xD;\n

目前,Fries定义了若干UI组件,包括:操作栏(包括向上按钮、操作按钮、操作溢出菜单和副标题)、标签、按钮、下拉菜单、列表(2行和多行)和表单(包括可伸缩表单)。下图展现了顶部的操作栏,它带有一个操作项和溢出菜单项:

\u0026#xD;\n

8cc9c260106b0f2a593300edd59b1c8a.png\

\u0026#xD;\n

对应的HTML代码如下:

\u0026#xD;\n

\u0026#xD;\n\u0026lt;div class=\"page\"\u0026gt;\u0026#xD;\n \u0026lt;header class=\"action-bar fixed-top\"\u0026gt;\u0026#xD;\n \u0026lt;a class=\"app-icon action\" href=\"#\"\u0026gt;\u0026#xD;\n \u0026lt;i class=\"icon-fries\"\u0026gt;\u0026lt;/i\u0026gt;\u0026#xD;\n \u0026lt;/a\u0026gt;\u0026#xD;\n \u0026lt;h1 class=\"title\"\u0026gt;Action Buttons\u0026lt;/h1\u0026gt;\u0026#xD;\n \u0026lt;ul class=\"actions pull-right\"\u0026gt;\u0026#xD;\n \u0026lt;li\u0026gt;\u0026lt;a title=\"Search\" class=\"action\" href=\"\u0026#xD;\n#\"\u0026gt;\u0026lt;i class=\"icon-search\"\u0026gt;\u0026lt;/i\u0026gt;\u0026lt;/a\u0026gt;\u0026#xD;\n \u0026lt;li\u0026gt;\u0026lt;a title=\"Copy\" class=\"action\" href=\"\u0026#xD;\n#\"\u0026gt;\u0026lt;i class=\"icon-copy\"\u0026gt;\u0026lt;/i\u0026gt;\u0026lt;/a\u0026gt;\u0026#xD;\n \u0026lt;li\u0026gt;\u0026lt;a title=\"Cut\" class=\"action\" href=\"\u0026#xD;\n#\"\u0026gt;\u0026lt;i class=\"icon-scissors\"\u0026gt;\u0026lt;/i\u0026gt;\u0026lt;/a\u0026gt;\u0026#xD;\n \u0026lt;li\u0026gt;\u0026lt;a title=\"Settings\" class=\"action\" href=\"\u0026#xD;\n#\"\u0026gt;\u0026lt;i class=\"icon-settings\"\u0026gt;\u0026lt;/i\u0026gt;\u0026lt;/a\u0026gt;\u0026#xD;\n \u0026lt;/li\u0026gt;\u0026lt;/ul\u0026gt;\u0026#xD;\n \u0026lt;/header\u0026gt;\u0026#xD;\n\u0026lt;/div\u0026gt;\u0026#xD;\n\u0026#xD;\n

就像上图一样,基于Fries的应用是一系列HTML“页面”,在请求时使用stack.js载入它们——stack.js改编自Ratchet的push.js,它在需要的时候执行AJAX调用,从服务器端取回新的页面。Sarmiento表示,stack.js使用“HTML5历史API,因此不会破坏Android设备的后退按钮功能。”

\u0026#xD;\n

Fries使用PhoneGap实现页面间的过渡,一段YouTube上的视频对此进行了展示。

\u0026#xD;\n

Sarmiento给出了一份简要的路线图,其中提到了可滑动标签、模态、进度条等内容。

\u0026#xD;\n

目前,在搭建HTML5接口以模拟本地接口时还存在一些问题。HTML5应用的主要价值在于一次编写就可以部署在多种移动操作系统上。但Fries与Android风格类似,而与iOS并不是非常匹配。如果在Ratchet和Fries之上搭建一个抽象的UI框架或许能够解决这个问题,这样的框架根据应用在哪个操作系统——iOS或Android——上运行来切换框架。

\u0026#xD;\n

另一个重大问题与应用的离线运行相关。目前,Fries应用需要保持Internet连接,或是在设备上运行一个Web服务器。这个问题可以通过运用HTML5离线特性来解决,届时应用将被缓存或本地存储。

\u0026#xD;\n

查看英文原文:Fries: Building a Native Android Interface with HTML, Javascript and CSS


推荐阅读
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文介绍了[从头学数学]中第101节关于比例的相关问题的研究和修炼过程。主要内容包括[机器小伟]和[工程师阿伟]一起研究比例的相关问题,并给出了一个求比例的函数scale的实现。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 本文介绍了如何在使用emacs时去掉ubuntu的alt键默认功能,并提供了相应的操作步骤和注意事项。 ... [详细]
author-avatar
2012-末日审判
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有