欢迎前往极客标签查看原文:http://www.gbtags.com/gb/share/9353.htm

多年来,我曾听无数开发人员说过,“当它成为一个Web App,请你告诉我”,这意味着网络应用比较于本地App是很缺乏的。这些相同的民众会声称,Web App的性能较差,设计低劣。虽然在几年前这个想法是对的,但现在的网络市场比过去好很多了。我们的运行时是超级快的,不会留下缺乏性能的应用程序。而在网络上最好的用户体验是世代领先的本地App,具有响应式设计使得Web App在任何设备上有很好的体验。

继续说Web App的好处。如果程序代码写的好,任何人只要有浏览器,无论在什么平台、版本或者设备上,都可以与Web App进行交互。它独立的代码库也使得它为众人所选,对于开发商、品牌和企业来说,他们不希望耗费资源去给每个平台建立和维护本地应用程序。

牛逼的Web App才是牛逼的App。无论是在浏览器上还是App Store

定义难题

我每天和使用ManifoldJS(ManifoldJS 是微软开源的,号称最简单的跨平台,跨设备 APP 创建方法)的开发人员一起工作,他们能制作很棒的Web App并把它们放到App Store上。ManifoldJS通过构建托管Web App使得你能坚持这个互联网的精神。托管Web App是与众不同的,因为它们允许你的代码生存在Web服务端上,就像你用浏览器访问它时,在Web服务器上一样。这意味着代码库始终是最新的,你可以随时根据你的意愿获得部署的变化,而且一般情况下,如果这个代码在浏览器运行,然后会像托管Web App一样工作。

好的Web App拥有很好的用户体验,以及一个Web App作为托管跨平台的Web App被设计为工作在各种浏览器和设备可以执行得很好。像这样的应用程序具有的一些主要特点是:

  1. 响应布局。 该设计提供了一个良好的阅读/观看体验无论是屏幕大小还是方向上。用户可以达到他们的意图,而不需要滚动更多或一个方向的放大与缩小,来与应用程序进行交互
  2. 适合的字体大小你应该能够在屏幕上轻松地阅读字体。它要在两个条件下运作,它应该足够大,以在小屏幕上读取,但它不应该在大屏幕大的离谱。平衡是关键。
  3. 灵活的输入。 该应用程序应该支持触摸屏,键盘和鼠标;但如果你想支持下一代接口,不要忘了输入模式,如语音或手势。
  4. 快速传送。 不是每个人都有固线接入光纤连接和无限的带宽。许多设备只有有限的带宽或很慢的处理速度。您的应用程序不应该花费太长的时间来加载或在互动的时候感觉呆滞。

带着这所有的考虑,我最经常得到的问题是:我应该如何设计我的App? (他们的意思是在美学方面的。)换句话说,视觉设计该是什么样子的?一般来说,有这几种选择:

  1. 设计一个单一接口的App,所以它看是一概不管是什么平台,它都用的上。
  2. 为每个平台设计出更“原生”的界面,以履行其独特的外观和感觉。

我的回答是一致的相同:我不知道。但幸运的是,我的队友Aaron Gustafson对此事有一些看法:

         这要看情况。

我完全理解对于本地操作系统来说,一个界面的外观和感觉相同(或相似)。它给您的用户创建了一个“流畅”的体验,可能更容易让他们了解如何使用您的App。也就是说,如果你的App是直观的,没有理由认为它看起来就像是底层的操作系统的事实,将会为他们更有效工作。此外,“原生”的外观和感觉将不会呈现出一个蹩脚的App被使用。

最重要的是,追求本地操作系统的设计可能不是你想要去下了兔子洞(来自爱丽丝梦游仙境,含义是一个奇特、不同世界的入口)。这里的原因:实现精确的设计和功能等同于一些简单的本地控制和网络控制之间需要额外的标记,一堆的CSS和一些JavaScript。在无限时间和预算下,任何事都可以实现,所以这是完全可行的,但它要很好的估计成本,看看你是否仍然认为这是值得努力的。

假如是这样,你在有这种操作系统来控制之后进行建模的相关问题。或许你想提供一个基于不同的操作系统来控制你的用户。在这种情况下,你可能需要用你想支持的操作系统的数量乘以原来的预算。值得一提的是,至少在Android世界,不同的设备制造商通常“表皮”操作系统看起来与其它厂商的Android设备不同。你需要判断哪些是你需要包括在你的支持模型,并乘以的估值。

此外,还有质量保证和维护。你需要测试每个像本地一样的控制在其相应的平台上。您还需要测试选择其中被交付给设备的体验脚本,以确保你不小心发送了错误的体验脚本。你还需要测试在你的测试模型上每个浏览器的传输脚本,以确保它不会导致问题出现。

还有一个问题,当一个新的操作系统版本推出的时候你需要做什么。iOS系统中,例如,已经在他们的原生控制的每一个主要版本的设计做出显著的变化。你可能想给你支持每个版本的OS系统上创建唯一版本控制。你还需要密切关注升级,这样就不会使用户混淆,如果他们在iOS8上访问我们的网站,有一个控制使它看起来像来自iOS6。你需要增加你想要的版本添加到OS系统数量的乘数为好。

你还需要一个基准部件的外观和让大家不会陷入你的模型的感觉。

最后:你想要多少控制去再次使用这种方法。

或者你可以涵盖网络,可以使用本地形式的控制并且接口将只用工作。这个网络的普及是因为它的功率。就像响应式网页设计和渐进增强的方式,付出如此巨大的利益,来增加覆盖条件,并降低设计、开发和维护成本。一次构建,随处部署,这就是网络的承诺,这就是让一个很棒的Web App也能够成为一个值得安装的Web App的原因。

–Aaron

托管是简单的

毫无疑问,我认为托管的Web App是一个伟大的方法来构建存储应用程序。对于如何把一个Web App转变为托管App,请在开始使用ManifoldJS并阅读我的博客文章;这很容易做到,你甚至可以使用ManifoldJS网页在你的浏览器上生成App。

托管App为您提供全新以及令人兴奋的机会,这是不可能在浏览器上通过平台API获得的。iOS和Android的应用程序可以被配置为访问Cordova API,如媒体捕获和接触,您可以访问所有这些API以及整个Windows通用API集合通过Win10。新功能可以通过简单的功能检测的API,然后执行额外的JavaScript添加到您的应用程序。

它不需要大量的额外工作,使您的Web App发布到App stores。一旦出现,你就会有App stores给你带来的利益以及真正的本地App的体验。那么,为什么还要等待?如果你有一个伟大的Web应用程序,只需要五分钟,并可使其成为托管Web App。

更实际的使用JavaScript

这篇文章是Web开发系列从微软技术传道者实际的JavaScript学习,开源项目,和交互操作性的最佳实践,包括微软Edge浏览器和新的EdgeHTML渲染引擎的一部分。

我们鼓励您测试跨浏览器和设备,包括微软的Edge——Win10的默认浏览器,以及在dev.modern.IE上的免费工具:

  • 扫描你的网站外的日期库,布局问题,和可访问性
  • 使用虚拟机的Mac,Linux和Windows
  • 在你自己的设备上微软的Edge远程测试
  • GitHub上的编码实验室:跨浏览器测试和最佳实践

深入技术的在微软的Edge和来自我们的工程师和福音传道者的Web平台上学习:

  • 微软先进的2015Web峰会(期待与新的浏览器,支持全新的网络平台标准,还有来自JavaScript社区的演讲嘉宾)
  • 哇,我可以在Mac和Linux上测试边及Edge浏览器!(来自Rey Bango)
  • 不会破坏网络的先进的JavaScript(来自Christian Heilmann)
  • Edge渲染引擎使网络正常工作(来自Jacob Rossi)
  • 释放出3D与WebGL的渲染(来自David Catuhe包括vorlon.JS和babylonJS项目)
  • 托管的Web App和网络平台的创新(来自Kevin Hill和Kiril Seksenov包括manifold.JS项目)

为网络平台提供更自由的跨平台工具和资源:

  • 为Linux,MacOS的,和Windows提供Visual Studio代码
  • Node.js的代码和在Azure免费试用

Jeff Burtoft

Jeff Burtoft 是Microsoft的技术专员。Jeff与别人共同撰写了他的第一本书,题目是HTML5 Hacks(O'Reilly Media出版),在html5hacks.com的创始博主。在500强公司的立场上,他一直像“网络高手”给国防部担任首席前端工程师。Jeff是Web标准的一个巨大的支持者,并爱所有的编程语言,只要它们是JavaScript。Jeff与他的妻子和三个孩子住在德克萨斯州。在业余时间,他喜欢写程序,他的孩子们和玩视频游戏。阅读他的博客或者在Twitter上@boyofgreen跟随着他。

这是我自己翻译的一篇文章,用来介绍本地App上如何设计Web代码的,分享给大家,

英文原文地址:http://www.noupe.com/design/designing-web-code-in-a-native-app-93464.html

 

转载于:https://www.cnblogs.com/gbtagscom/p/4974551.html

在本地App上设计Web代码相关推荐

  1. 本地计算机架设http服务器,多维互联网(在本地电脑上架设web服务器软件)

    如何在本地电脑上架设web服务器呢?虽然在网上我们就能搜到方法,可是小编觉得手动设置比较麻烦,不如让一款软件来帮我们搞定这个问题! 多维互联网介绍: 是一款可以完成对本地电脑进行动态dns解决的软件, ...

  2. 因为1024图片 AppIcon 图标包含了透明度导致app上传ios 代码报错

    错误提示图片 错误原因: AppIcon 图标包含了透明度,才导致了包的上传失败. 后面我查看了AppIcon中添加的图片, 发现有一张1024 x 1024@1x的图标带有alpha透明度. 错误验 ...

  3. 基于java考研线上自习室 App 的设计与实现附完整代码

    摘要 2022年考研即将开始报名,2021 年暑假的复习也是至关重要的.很多同学在暑假决定回家复习,可是回家复习的效率普遍不高,这是缺乏同学之间相互督促相互进步的结果.本项目就是为了解决这个问题,基于 ...

  4. 使用Jenkins在Azure Web App上进行ASP.NET Core应用程序的持续集成和部署(CI/CD)–第4天

    目录 主题 路线图 Jenkins 先决条件 使用Jenkins Azure Pipeline在Azure上的ASP.NET Core应用程序的CI/CD 创建新的管道作业 添加参数 添加管道脚本 运 ...

  5. 使用Jenkins在Azure Web App上进行ASP.NET Core应用程序的持续集成和部署(CI/CD)–第3天

    目录 主题 路线图 先决条件 Azure Active Directory和服务主体 创建一个Azure Active Directory和服务主体 将应用程序集成到角色 将Jenkins与Azure ...

  6. 使用Jenkins在Azure Web App上进行ASP.NET Core应用程序的持续集成和部署(CI/CD)–第2天

    目录 主题 路线图 先决条件 将ASP.NET Core应用发布到Azure应用服务 在Azure上配置Jenkins 在Azure上创建Jenkins服务器 解锁Jenkins 结论 主题 本系列文 ...

  7. 使用Jenkins在Azure Web App上进行ASP.NET Core应用程序的持续集成和部署(CI/CD)–第1天

    目录 介绍 路线图 DevOps 持续集成 持续部署 Jenkins Azure Web App服务 主题 先决条件 安装Jenkins 先决条件 下载并安装 Jenkins插件 让它运行 安装自定义 ...

  8. 毕业论文选题基于Web网站或Android APP的设计与实现

    一.基于Web的实验中心工作管理网站的设计与实现 二.基于Android的上课提醒APP的设计与实现 三.基于Android的健身管理APP的设计与实现 四.高校讲座信息APP的设计与实现 五.文本朗 ...

  9. 浅谈Web App前端设计原则

    关于Web App 随着web 2.0时代的到来,越来越多的应用程序都是基于Web环境来构建的.这样做的好处显而易见,用户可以方便地使用浏览器来访问应用,而不需要安装客户端程序.而在企业内部,很多应用 ...

最新文章

  1. 正则 去除字符串中的特殊字符
  2. NR 5G 关于gNB-CU和gNB-DU
  3. coreData使用
  4. 已选商品数量总计如何实现_英国VAT新政临近,没有API如何添加或修改税率?教程来了!...
  5. 国内电商场景大战中,企业如何寻找有效增长点?这里有答案了
  6. 无约束优化算法——牛顿法与拟牛顿法(DFP,BFGS,LBFGS)
  7. 注册机patch起什么作用_电机滑环起什么作用?
  8. [深度学习-理论篇]什么是卷积神经网络CNN
  9. Excel2010--在指定的范围内添加随机数
  10. 方法的重写、重载及隐藏
  11. 邮件群发 php shell,Shell发送邮件以HTML展示
  12. HDU-Keywords Search(AC自动机)
  13. xps数据怎么导出为txt_如何处理XPS原始数据
  14. DOS各版本下载地址
  15. vmware 虚拟机安装系统成功,没有虚拟网卡的完美解决方法
  16. torch.manual_seed(args.seed) torch.cuda.manul_seed_all(args.seed)和numpy.random.seed()
  17. 关于如何让网站被搜索引擎收录
  18. python 实例解析--村长选举
  19. 【每日一题】 643. 子数组最大平均数 I
  20. 2021年中式烹调师(中级)试题及解析及中式烹调师(中级)模拟试题

热门文章

  1. 远程运行pycharm的时候显示already running怎么办
  2. Zhou21Network Representation Learning: From Preprocessing, Feature Extraction to Node Embedding
  3. lab1-1 恶意代码分析实战
  4. Microsoft的愚蠢
  5. windows 怎样查看计算机本地安装的证书
  6. 如何在把网页放到服务器上,怎么把网页放到云服务器上
  7. 【程序人生】行动型人格意味着一个人具备积极主动、果断执行的品质,这对于个人和职业生活的成功至关重要——如何养成“行动型人格”?| 高瓴Recommend
  8. 数据中心动力与环境监控系统现状与发展分析
  9. 鸿蒙系统文件是什么格式,鸿蒙系统资源文件分类
  10. hbase快速入门之---表设计(使用建议)