移动开发 - 本机 VS 跨平台 VS JavaScript [关闭]

2024-03-07

我们公司很快将开始为移动平台开发一些产品,作为首席技术官,我被要求检查可用的不同工具的优缺点,以实现最佳质量/成本效益的解决方案。

我们将主要针对 iOS 和 Android,其次是 Windows-Mobile 和 BlackBerry。

候选人:

经过一些背景研究后,我发现了以下可能的候选人:

  • Native- 使用每个平台的本地工具和语言进行简单但费力的开发。

  • HTML5、CSS 和 JavaScript- 可能是在设备浏览器(网站)上运行的 Web 服务,或者是围绕 WebKit 封装此类代码的应用程序。

  • 罗移动- 由 Google 制作,所以它应该很好 - 然而基于 Ruby(我们对此不太满意)并且确实有一个复杂且相当脆弱的开发环境。

  • PhoneGap- 它看起来很简单,并且主要基于 Javascript - 它是开源的,但最近被 adobe 收购 - (不是一个好兆头)

  • 加速器- 从 Javascript 到 PHP 再到 python,任何东西都具有广泛的 API 访问权限,但我们听到了许多拒绝的故事(被苹果公司拒绝),以及在不同平台上使用复杂代码时的不兼容性。

  • 还有更多类似 MoSync、Sencha、Appmobi 和 Corona(没有对它们进行第一手测试)。

一些参考点:

  • 我们不打算开发游戏,我们计划开发的应用程序属于商业应用程序和信息工具领域。

  • 应用程序不依赖于设备 API 的过度使用(但确实需要一些次要的基本访问权限)

  • 该公司已经为 iOS 进行了开发,并且我们拥有一个由原生 iOS 开发人员(Objective-C 极客)组成的小团队

  • 我们希望确保我们可以继续开发该功能中的应用程序,而不会因为新的操作系统或 API 而被破坏

  • 事先确保应用程序不会因跨平台代码(主要是 AppStore)而被拒绝将是有益的

  • 与任何公司一样,我们希望尽可能保持成本效益 - 另一方面,我们坚持高质量的产品和顶级的用户体验。

没有比 StackOverflow 更好的地方来问这个问题了,我非常感谢在这个主题上有经验的开发人员的任何评论。


应用市场上有超过 50 万个应用,竞争非常激烈。拥有出色的用户体验和图形至关重要。

跨平台工具无法与本机开发相提并论。如果是的话,我们都会使用它们。但我们不是。有一个原因——你没有完全的控制权。完全控制对于拥有美观的应用程序是必要的。

如果您的应用程序不是消费者应用程序,而是企业应用程序,其使用由某些内部部门决定,那么您might接受马马虎虎的设计,因为此类应用程序的价值在于它的功能。

但是,如果您认真对待移动应用市场,那么唯一的方法就是原生化。您需要一名全职的用户体验人员和一名设计师(了解移动开发)。你会花费超过 50% 的时间在外表上。我现在参与的项目花费了 80% 以上的时间在外观上(图形、动画、用户体验、可用性测试)。

建议:花合理的时间(=天)使用竞争对手的应用程序。还可以花时间研究每个市场上排名前 50 的应用程序。你会感觉到门槛有多高。然后检查使用跨平台工具制作的应用程序(您可以在其网站上找到链接)并进行比较。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

移动开发 - 本机 VS 跨平台 VS JavaScript [关闭] 的相关文章

  • UIView 周围的虚线边框

    如何在周围添加虚线边框UIView 像这样的东西 如果您喜欢子层 还有另一种方法 在您的自定义视图的 init 中 输入以下内容 border 是 ivar border CAShapeLayer layer border strokeCo
  • 如何将 Android 添加到 Phonegap 平台版本 3

    经过大量挖掘 我相信这个问题 https stackoverflow com questions 18423444 phonegap 3 doesnt work with andriod studio与我没有添加任何用于构建phonegap
  • 视频中的图像/文本叠加 swift

    我正在使用 swift 在视频中使用图像叠加来实现水印效果 我正在使用AVFoundation为此 但不知何故我没有成功 以下是我的覆盖图像 文本的代码 let path NSBundle mainBundle pathForResourc
  • 在运行时更改用作背景的 Drawable xml 内的形状纯色

    我有一个 Drawable xml 文件 background xml
  • 移动设备上的 TensorFlow(Android、iOS、Windows Phone)

    我目前正在寻找不同的深度学习框架 特别是用于训练和部署卷积神经网络 要求是 它可以在带有 GPU 的普通 PC 上进行训练 但训练后的模型必须部署在三个主要的移动操作系统上 即 Android iOS 和 Windows Phone Ten
  • Xcode 服务器 ibtool 构建失败

    我一直在研究使用 Xcode Server 进行 CI 我已经解决了一些问题 但现在有一个问题困扰着我 构建似乎工作正常 但在测试阶段挂起 并在日志底部生成以下内容 2015 11 25 14 44 45 650 xcodebuild 58
  • 无法使用 findViewById() 找到视图

    我找不到TextView通过致电findViewById 即使 ID 确实存在 OtherActivity public class OtherActivity extends Activity Override protected voi
  • Android模拟器中的网络访问

    我试图通过我的 Android 应用程序访问互联网 但我既成功又失败 我在构建应用程序时启动模拟器 并且应用程序安装得很好 我可以使用浏览器访问互联网 但是 当我尝试这个小代码片段时 InetAddress inet try inet In
  • 哪个视图最亮?

    在Android中 哪个是轻量级视图 例如 View Textview Edittext 等 在某些情况下 我们需要使用视图来填充区域而不向用户显示视图 同时屏幕加载速度应该很快 您可以使用空间 android widget Space S
  • iOS Twitter NSURLErrorDomain 代码=-1012

    我正在尝试通过在我的应用程序中注册 Twitter 来获取用户的联系方式 我发现this https github com malcommac DMTwitterOAuthgithub上的项目看起来非常好 我只遇到一个问题 如果我使用来自
  • onTaskRemoved() 在华为和小米设备中没有被调用

    我一直在使用onTaskRemoved 服务中的方法 用于检测应用程序何时通过滑动从设备最近列表中删除 我执行一些日志记录和发生这种情况时需要执行的一些其他操作 它工作完美 然后我在运行Android 6 0的华为设备上检查了这个方法 该方
  • 如何在多个视图中显示相同的导航栏?

    我可以为一个视图重现以下导航栏 但是 一旦我单击按钮后移至下一个视图 我就会丢失最右边的两个图标 搜索 个人资料 据我所知 从故事板设置导航项目通常是按视图进行的 我可以为每个视图复制这些项目 但我想知道是否有更好的方法来完成一次 是否有教
  • dyld:无法加载插入的库,但可以在模拟器和另一部 iPhone 上使用

    所以我在过去的几个小时里在我的应用程序上编码 在某个时候我决定在我的 iPhone 8 13 3 1 上启动我的应用程序而不是使用模拟器 13 3 它立即崩溃并出现以下错误 dyld warning could not load inser
  • 如何将样式应用于我拥有的所有 TextView? [复制]

    这个问题在这里已经有答案了 可能的重复 设计所有 TextView 或自定义视图 的样式 而不向每个 TextView 添加样式属性 https stackoverflow com questions 6801890 styling all
  • 离子初始加载时间

    我正在使用 Ionic 构建一个简单的应用程序 但我的应用程序在冷启动时的初始加载时间方面存在性能问题 这是我所做的 collection repeat 代替带有 track by 的 ng repeat 原生滚动 overflow scr
  • 如何在android中通过蓝牙向配对设备发送短信?

    在我的应用程序中 我想通过蓝牙发送和接收短信 我可以在列表视图中看到配对设备名称和地址的列表 但是当我尝试向配对设备发送文本时 什么也没有发生 在其他设备中没有收到文本 这是我向配对设备发送消息的代码 private void sendDa
  • Android-dispatchTouchEvent 给了我一个 StackOverflowError

    这里我有一个带有 setOnTouchListener 的 ViewFlipper 它工作得很好 然后我膨胀 ReLayNewsItem 然后将其添加到 ViewFlipper 现在我希望 WebView web 监听触摸事件并将它们传递给
  • Android MulticastSocket.joinGroup 不会触发发送 IGMP 消息

    Code MulticastSocket s new MulticastSocket InetAddress addr InetAddress getByName 230 230 230 1 s joinGroup addr 在 Ubunt
  • 如何从地址簿中获取一个人的电话号码?

    我想做的就是让用户从地址簿中选择一个号码 我在这个问题中找到了代码 如何从地址簿联系人获取电话号码 iphone sdk https stackoverflow com questions 286207 how to get a phone
  • 如何访问我的 Android 程序中的联系人

    我正在制作一个短信应用程序 并且想要访问我的 Android 应用程序中的联系人 我想访问联系人 就像他们在实际联系人列表中一样 选择后 我需要返回到我的活动 在其中我可以向该人发送短信 或者是否可以访问存储联系人的数据库 我的代码如下所示

随机推荐