- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我想发起社区讨论。根据我的问题,您什么时候决定停止支持旧版浏览器?
我几乎完成了一个大型个人应用程序的开发。它使用了大量的 HTML5、CSS3 和 JavaScript。如果我要支持旧版浏览器,我估计会增加至少 50% 的前端工作负载。坦率地说,我不想支持旧版浏览器。从商业 Angular 来看,有人可能会争辩说,如果我不这样做,我可能会损失收入。我不同意。我觉得使用旧浏览器的客户无论如何都不是我想要的客户——他们会给我更多的工作,因为我必须修复我的应用程序中的兼容性问题才能与他们的旧浏览器一起工作,或者必须不断告诉他们升级浏览器。如果网络要继续发展,那么人们就需要停止支持旧版浏览器,但是,我确实看到潮流正在慢慢开始转向这一点。
最近,IE6 宣告死亡。我们什么时候可以安全地说 IE7 和 IE8 或 Firefox 3 可以不再被视为“重要”到足以支持?
此外,我听到很多人在这个网站上说“确保它优雅地降级,这样它仍然可以在不支持 JavaScript 的浏览器上工作”?现在什么样的浏览器不支持JavaScript?大多数是旧手机,如果这些旧手机不支持 JavaScript,那么我非常怀疑它们是否也能正确解析 HTML。我的应用程序也有一个 Sencha touch 移动版本。我要制作它的 WAP 版本以支持旧手机吗?不,这是一个丰富的网络应用程序。这就是它的设计方式,也是我希望它保持的方式。
我更喜欢 Apple 的方法:如果您升级操作系统,不要指望旧操作系统中的应用程序可以与新操作系统一起使用。是的,这可能令人沮丧,但这意味着总体上不再那么困惑,人们被迫升级以与时俱进。
对于新的 Web 应用程序,它的工作方式相同,如果我想让它们保持干净、快速和高效,我需要停止破解代码以支持旧软件,如果用户不喜欢它,他们可以从我的网站或加入我们其他人并升级他们的浏览器并获得更好的网络体验。
我不希望这给人留下傲慢的印象,但当您认为足够了并且只支持最新的浏览器时,我真的很想听听您的意见。
最佳答案
对我来说,我一直在评估会使用它的用户。我认为最终,支持所有单一的浏览器及其版本是不切实际的。
作为基准,我始终确保应用程序在 IE8 和最新版本的 Firefox 中正常运行。 IE8 相当不错,所以通常不需要太多工作就可以让它工作。由于大多数版本的 Firefox 和 Chrome 倾向于自动更新,我只在 Firefox Latest、Firefox 3.Latest 和最新版本的 chrome 中进行测试。
例如,如果我正在设计供技术负责人使用的应用程序,我就不会真正关心 IE7 及以下版本,或旧版本的 Firefox 和 Chrome。
但是,如果我设计的东西将在内部使用并且有特定的浏览器要求,那么我将确保该应用程序在这些浏览器(即可怕的 IE6 和 IE7)中完美运行。
由于 IE8 是 Windows XP 上的“最终”版本,我认为确保至少在 IE8 中正常运行会非常有益。
此外,由于 Facebook 和 GMail 已停止支持 IE7 及以下版本以及其他浏览器的旧版本,我认为可以肯定地说我们也可以忽略这些版本。
至于 javascript,我认为在没有 javascript 的情况下构建完全相同的东西是不切实际的。我认为优雅降级是个好主意,这样用户可能无法使用某些东西,但他们仍然可以在一定程度上使用该应用。
但是,在某些情况下,如果没有 javascript,整个应用程序将无法运行(或者非 javascript 体验几乎毫无用处),那么告诉用户启用 javascript 可能是个好主意。这是在 Facebook 和 Google Docs 等应用程序中实现的。看这个excellent blog post进行一些辩论。
所以,总结一下:
关于browser - 您决定在什么时候停止支持旧版浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9821645/
我需要将我的数据库容器与我的服务器容器连接起来。现在我只是对遗留参数--link感到不满,它工作得很好 $> docker run -d -P --name rethinkdb1 rethinkdb
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
我的脚本中有以下代码: while (my ($key, $value) = each @values) { if ( $key < $arraySize-1) { if (
自周末以来,旧版 FCM 不再工作。 我的设备通过旧版 FCM 通过 fcm.googleapis.com/fcm/send 发送推送通知。我没有更改任何内容,但自周末以来我收到错误代码“HTTP/1
自周末以来,旧版 FCM 不再工作。 我的设备通过旧版 FCM 通过 fcm.googleapis.com/fcm/send 发送推送通知。我没有更改任何内容,但自周末以来我收到错误代码“HTTP/1
使用 LWJGL 和 PNGDecoder,我发现文档在纹理方面没有多大帮助。我了解有关它们的基本概念,但我不知道要调用什么函数(除了创建纹理ByteBuffer、上传数据的调用,但不实际使用它),而
大量使用主 iframe 的网站 我继承了一个遗留代码库/网站,http://ninjawars.net 。在我开始在网站上编码之前,iframe 就已就位。 我经常听说 iframe 的问题(安全性
我正在尝试在遗留 OpenGL 中为长方体制作纹理。无论我先渲染长方体的哪一侧,这一侧的纹理都不正确,而所有其他侧的纹理都正确。我尝试先渲染立方体的不同面。 这是绘制立方体的代码,包括它的纹理坐标:
我使用旧版 openGL。我在一个场景中绘制多个对象。我希望正在绘制的球体具有纹理,但所有其他对象都是纯色。但是,如果我在绘制球体后尝试禁用纹理,其他一切都是黑色的。 这是我创建纹理的代码 g
我在使用一些旧的 FBJS 时遇到了问题。验证我正在使用的字段的值 document.getElementById('email2').getValue() 这现在给了我错误 Error: a1979
我正在开发一个老式项目,其中我必须向 JSP 页面添加动态表单提交。该链接将动态生成,因此我需要跟踪单击了哪些链接。例如, Report Name
我已经将我的 FireFox 升级到 9.0.1,所以我无法检查我要问的是什么。我想在我的网站中使用 text-shadow css,但我不知道它是否适用于 3.5 等较旧的 FireFox 版本。
为什么第一批 Linux 开发人员选择实现非抢占式内核?是为了保存同步吗? 据我所知,Linux 是在 90 年代初开发的,当时 PC 还只有一个处理器。非抢占式内核在此类 PC 中具有哪些优势?但是
我真的很难在旧的 IE 版本 (6-8) 上显示背景图像。 这是我的代码: #top { background-image: url(http://some-domain.com/myimage.jp
阅读Java Code Conventions document from 1997 ,我在 P16 上关于变量命名约定的示例中看到了这一点: int i; char *cp; float myWid
我必须维护一个包含大量 Perl 代码的史前网站。移动到新服务器后,事情变得模糊: 当来自同一个客户端的多个请求在一个页面上运行(使用 GD 生成图像)时,这些脚本会覆盖彼此的变量,从而导致奇怪的结果
Visual Studio 2012 中的对象浏览器为可移植类库提供了两种不同的组件集: .NET 可移植子集 .NET 可移植子集(旧版) 当我创建可移植类库时,它使用 .NET 可移植子集。什么是
我“继承”了一个旧的 Spring 应用程序。目前它使用的是 Spring 2.5(刚刚升级了一次),并且希望进一步升级到 Spring 3。 我了解大部分应用程序配置。只有一个部分我“不是100%”
我正在开发一个 iPhone 应用程序,迄今为止,它使用的是统一定价模型。在下一个版本中,计划是降低基本功能集和价格,然后让用户可以选择为功能包进行应用内购买。 添加应用内购买似乎非常简单。我担心的是
我有点卡住了,因为我需要更好地了解 sugarCRM 中这种类型的自定义验证的语法。 我有这种验证: SUGAR.util.doWhen("typeof(check_form) != 'undefin
我是一名优秀的程序员,十分优秀!