我 super 好奇,在互联网上花了几个小时,但我能找到的都是“html5、混合和 native 应用程序的优缺点”风格的博客。
移动应用程序执行速度比 Web 应用程序快的一个原因(除了应用程序可以使用设备核心功能这一事实之外)是 Assets 存储在设备内存中,因此不必通过互联网获取,只有信息 (JSON) 传输互联网。这减少了加载时间,减少了加载新页面的时间(您只需要获取 JSON)并增加了离线体验。
我有点生活在混合应用做同样事情的世界里—— Assets 存储在设备中。但是在 ionic 文档中我发现了这个:
The good thing about Angular templates is they can be loaded from anywhere: locally or remote. The URL of the template is the unique identifier, and if the template is defined locally, it will be fetched locally. Templates are a great way to separate layouts and UIs, so we use them extensively.
这表明如果未在本地定义模板,则不会在本地获取模板,这让我假设我的 www 文件夹中定义的模板将通过 Internet 调用。
我还在他们的文档中找到了一个地方(真的找不到确切的词来引用)他们建议在脚本标签内定义模板,否则它们将通过互联网获取。
这让我想知道当我从 App Store 或 Google Play 下载应用程序时,我的设备上实际下载了哪些文件?
我发现在实际开始使用任何框架开发混合应用程序之前理解这一点非常重要,因为我找不到关于这个主题的任何信息,我希望这个问题与其他迈出混合应用程序第一步的开发人员相关发展。
最佳答案
简而言之,您的整个 www 文件夹都会下载到设备上,无论其中的文件是否被使用。整个文件夹总是被复制到应用程序中并由用户下载。此外,该应用程序中还包含很多与 Cordova 相关的东西,例如插件。
查看将 bundle 到您的应用程序中的最简单方法是为 iOS 或 Android 构建一个应用程序并在 Android Studio 或 Xcode 中打开它并查看其中的内容,它应该让您很好地了解用户获得的内容.
This suggests that if template is not defined locally it will not be fetched locally leaving me with assumption that template that is defined in my www folder will be called over internet.
我不完全确定你这句话的意思。如果您的应用程序中未定义模板,则可以选择通过互联网加载它,但为什么不定义它呢?如果在您的 www 文件夹中定义了一个模板,那么您的应用程序中怎么可能没有定义它呢?
所以你链接到an article描述了在 Ionic 和 Angular 中定义模板的不同方法。加载模板和使用 ng-template 定义模板的区别在于您可以在同一个 HTML 文件中包含多个 ng-template,这意味着您不需要从其他文件加载任何模板。基本上,如果您加载一个文件并且其中有多个 ng-template,它们将在文件加载后立即被缓存,这可能会提高性能。我无法找到关于这两种方法之间差异的令人信服的证据,它似乎相对较小。这两个问题也回答了类似的问题,你可以找他们here和 here .
关于android - 从应用商店下载混合应用时,哪些 Assets 会下载到设备上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43542180/
我正在使用i18n从头开始构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在rubyonrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi
对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R
当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub
是否可以在应用程序中包含的gem代码中知道应用程序的Rails文件系统根目录?这是gem来源的示例:moduleMyGemdefself.included(base)putsRails.root#returnnilendendActionController::Base.send:include,MyGem谢谢,抱歉我的英语不好 最佳答案 我发现解决类似问题的解决方案是使用railtie初始化程序包含我的模块。所以,在你的/lib/mygem/railtie.rbmoduleMyGemclassRailtie使用此代码,您的模块将在