带有 AngularJS 的移动架构选项
Mobile Architecture Options with AngularJS
我正在构建一个包含以下设计目标的应用程序:
- 快速和模块化 - 轻量级核心,可以以连贯的方式扩展到功能丰富的应用程序中
- 移动优先 - 这个应用程序首先针对移动平台。它使用一些设备本机功能。它的外观和感觉必须像移动应用程序(具有页面过渡和滑动事件)。但是,其大部分功能也必须可供 Web 浏览器使用。我的目标是拥有一个具有通用核心和移动特定扩展的统一代码库。
到目前为止,我选择了以下堆栈。
- AngularJS:我在其他项目中使用了一些JavaScript框架。就模块化和深思熟虑的设计而言,Angular 似乎最适合我。我想使用 Angular 原生构造(如指令),并最大限度地减少来自外部 UI 工具包的"其他类型的"基于 JavaScript 的小部件。
- 科尔多瓦:我对它的设计理念和插件系统感到满意。我知道性能方面的考虑强调了选择正确的JavaScript框架的重要性。
- 一些响应式框架:在撰写本文时,Bootstrap 3 将是我的偏好。我喜欢它的外观。它的设计看起来很合理。有一些 Angular 指令可用于替换它的 jQuery 插件。
- 我在服务器端有一个定义良好的 REST API,它绑定到 Angular 资源。我不打算在服务器上做"演示工作"。
这是我的问题:在第 3 点上,Bootstrap 似乎缺少构建"高级"移动应用程序的功能。 Bootstrap 响应行为非常适合基本控件,但我需要更多。例如,页面过渡和滑动事件等功能在jQuery Mobile中免费提供。虽然我不希望在 Bootstrap 中找到这种移动功能,但似乎我应该能够包含添加页面过渡和滑动事件等内容的指令,而不会与 Bootstrap CSS 重叠。有角度移动导航,有人将其与Bootstrap结合使用吗?还是 Bootstrap 只是错误的选择?
我自己最近也有同样的问题。Bootstrap 3 是我的偏好,但我希望它内置移动事件和动画。 除了已经提到的 http://www.appgyver.com/steroids,我还遇到了 http://ionicframework.com/和 https://github.com/angular-widgets/angular-jqm。
有点晚了,但你应该看看Ionic。它使用Angularjs,并附带了一堆很棒的组件(角度指令),并且很容易上手,同时仍然功能强大。我已经玩了一段时间了,很喜欢它。对于移动应用程序来说,这绝对是一个好方向。
哦,最后一件事,他们与科尔多瓦/电话间隙配合得很好
您是否已经看过它 http://www.appgyver.com/steroids 它可以与 Angular 和 Cordova 很好地配合使用,并为您省去您在问题中提到的一些麻烦。当然,您仍然可以保留引导程序以满足更多"基本"需求。
所有这些答案都很好。Steriods 和 Ionic 看起来都像是很好的框架和可接受的解决方案,可以解决所描述的问题。对于我的特定问题,我创建了一个非常轻量级的 Angular 模块,该模块在 Bootstrap/Bootswatch 主题之上添加了 iOS7 标头和动画:https://github.com/fredfortier/angular-ios7。
我想要一些非常简单的东西,让我主要使用Bootstrap。对于更复杂的东西,我肯定会考虑类固醇或离子。
- 在用户关闭/更改移动浏览器选项卡之前进行检测
- 在两个多选字段之间移动选项
- 检测通过移动 Safari 中的 JavaScript 关闭浏览器选项卡
- 使用AngularJS在Bootstrap选项卡之间移动DOM元素
- 在选定元素中上下移动选项的方式
- 在HTML5、CSS、JavaScript中添加选项选择器,类似于移动应用程序中的选项设置
- 使用鼠标移动操作选择选项
- 更改移动web应用程序的字体大小选项
- 带有 AngularJS 的移动架构选项
- 禁用移动设备中的默认保存图像选项
- 如何声明,以便在 jquery 移动 UI 中突出显示默认选项卡
- 如何在使用angularjs选项卡时单击按钮移动到下一个选项卡
- 引导选项卡在单击时移动
- 如果用户不更改该选项,请将焦点移动到下一个字段
- 将引导选项卡栏转换为移动大小的手风琴菜单
- 检查选项卡是否已在移动设备上打开
- Jquery移动选项卡和可折叠
- 将其混合在选项卡1中不起作用,但在另一个选项卡中起作用,即chrome和移动设备中的选项卡2
- jQuery选项appendTo select移动到下一个选项,而不是选择一个
- 如何使用javascript将大量的选择选项移动到另一个选择控件