数据密集型应用程序的手机差距与单点触控

发布于 2025-01-03 04:06:13 字数 1036 浏览 1 评论 0 原文

我们正在寻求为移动设备开发数据密集型应用程序。我们的核心问题是

  1. 我们必须在客户端上存储大量数据
  2. 客户端希望应用程序能够离线工作
  3. 我们的技能主要是 Web 开发 C# ASP.Net。绝对不是 Objective C

我们已经想到了

  1. 使用 HTML5 本地存储利用离线应用程序缓存的开发 Web 应用程序的三种可能性。 浏览器,此限制可能会降至 2.5MB

  2. 我们对本地存储有 5MB 的限制,但对于某些浏览器

    通过 PhoneGap 创建本机应用程序的 Web 应用程序, 应用程序。 这里的一大优点是我们可以使用文件系统进行存储。缺点是它必须通过 App Store(尤其是 iOS) - 订阅应用程序的 30% 收入

  3. 我们使用 MonoTouch 适用于 Android 和 iOS。 很好 - C# 和 .Net 我们可以做到这一点。不好 - 没有黑莓

问题

在这种情况下,我很难看到使用 MonoTouch 相对于 PhoneGap 的任何真正优势。这些是什么?他们有吗?

作为本例中的一个示例,将数据保存到文件系统中非常有用,但我相信电话间隙可以通过 文件对象。显然 monoTouch 会利用 System.IO。

MonoTouch 中是否存在明确的附加功能 - 特别是对移动开发有用的功能,例如地理位置或相机类型功能?或者手机差距几乎已经涵盖了所有这些。

厚颜无耻的附加问题

是否还有我错过的任何其他选择,或者我已经忘记的三种方法的任何其他主要优点/缺点?

感谢大家的专业知识

We are looking to develop a data intensive application for mobile devices. Our central problem is

  1. We will have to store quite a lot of data on the client
  2. The client wants the app to work offline
  3. Our skill set is very much web development C# ASP.Net. Definitely not Objective C

We have thought of three possibilities for dev

  1. Web application using HTML5 local storage leveraging the offline application cache.
    We are on a 5MB limit for local storage but this might be down to 2.5MB for certain browsers

  2. Web application through PhoneGap to create a native app.
    Big advantage here is that we can use the file system for storage. The down side is that it will have to go through App Store (for iOS especially) - 30% chuck of revenue for a subscription app to Apple

  3. We build out the app using MonoTouch for Android and iOS.
    Good - C# and .Net we can do this. Bad - no Blackberry

Question

I'm struggling to see any genuine advantages of using MonoTouch over PhoneGap in this instance. What are they? Are they any?

As an example in this instance it would be really useful to save data onto the file system but I believe that phone gap can do this through the File object. Obviously monoTouch would leverage System.IO.

Is there instances where there is definite additional functionality in MonoTouch - particularly functions that are useful to mobile dev e.g. Geolocation or camera type functions?. Or does phone gap pretty much have all these covered.

Cheeky Additional Questions

Is there any other options I have missed or any other major advantages/disadvantages for the three approaches I have outlined that I have forgotten about?

Thanks for everyone's expertise

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

会发光的星星闪亮亮i 2025-01-10 04:06:13

我们刚刚完成了一个用 MonoTouch 编写的数据密集型应用程序。该应用程序通过中间层访问 SAP 数据,并将其公开在应用程序上。它还允许再次通过相同的中间层从应用程序直接更新到 SAP。

我们正在使用 MonoDroid 将其移植到 Windows Phone 和 Android。

我花了一段时间才说服老板 MonoTouch 是前进的方向,我们事先尝试了几种不同的产品,包括 jQuery mobile、ExtJS 和 Obj C。

我试图说服他的时候是 Attachmate 收购的时候,它有时看起来,MonoTouch 注定要失败。对我们(我)来说幸运的是,Xamarin 就像众所周知的凤凰浴火重生,他们继续将 Mono* 发展到今天的样子。

作为一名 C# 开发人员(和 Mono 爱好者),我战胜 Obj C 或任何 HTML/JavaScript 的主要优势是我可以使用 C# 来完成工作。文档非常好,当 doco 没有完全删除它(最近更新)时,社区就做了。

IRC 频道非常活跃,Xamarin 员工和社区布道者总是愿意提供帮助或提供对问题的见解。邮件列表也是如此。

另一个优点是围绕 MT 发展的生态系统。与 XCode 等价物相比,MT.Dialog 使开发基于表格的 UI 变得轻而易举。再加上 .Net BCL,无可否认,它是基于 Silverlight 的一个子集,但它拥有从序列化、电子邮件到加密技术等的所有内容...如果 .Net 没有涵盖它,或者没有特定的 Mono* 项目,您仍然可以在 MT 代码中使用 ObjC 插件。

我不同意机器翻译作为一个经过验证的平台“尚未证明自己”的说法。我们正在使用它,虽然我们是一家相对较小的公司,但有很多较大的公司也在使用它。据报道,苹果在澳大利亚的电视广告中展示的一些应用程序是用 MT 编写的。

为了保持客观,MonoTouch 对我来说有两个“缺点”,那就是你仍然需要能够阅读 ObjC(不过,说实话,我不认为这是一个缺点...作为一名“C#”开发人员无论如何,我必须能够阅读和编写多种语言),而且事实上,从历史上看,MonoDevelop 一直存在一些问题。主要错误似乎已被消除,并且由于它是一个开源项目,您可以随时修复它们并帮助我们其他人!

回答您的问题:

  1. 我们将不得不在客户端存储相当多的数据

在 C# 中使用 .Net 的 System.IO 类。如果您不确定这些,MSDN 有大量示例(MT 隐藏了文件存储的 iOS 实现)

  1. 客户端希望应用程序能够离线工作,

他们都可以做到这一点,但在我看来,本机应用程序总是感觉更好。

  1. 我们的技能主要是 Web 开发 C# ASP.Net。绝对不是 Objective C

MonoTouch 是 C# - 发挥您的优势,在几周而不是几个月内拥有一个应用程序!

我的2便士!我会毫不犹豫地一次又一次选择同一条路线。

We have just finished a very data intensive app written in MonoTouch. The app accesses SAP data, through a middle tier, and exposes this on the app. It also allows direct updates from the app to SAP, again through the same middle tier.

We are in the process of porting this to Windows Phone and Android using MonoDroid.

It took me a while to convince the boss that MonoTouch was the way forwards, and we tried a few different products beforehand including jQuery mobile, ExtJS and Obj C.

The time I was trying to convince him was the time of the Attachmate acquisition and it looked, at times, like MonoTouch was doomed. Luckily for us (me), Xamarin rose like the proverbial Phoenix from the flames, and they have continued to develop Mono* to what it is today.

As a C# developer (and Mono enthusiast) the main win over Obj C or any of the HTML/JavaScript was the fact that I could use C# to get the job done. The documentation was very good, and when the doco didn't quite cut it (recently been updated) the community did.

The IRC channel is very active, with Xamarin employees and community evangelists always willing to help or provide insight into a problem. As are the mailing lists.

Another plus are the Eco-systems which are growing around MT. MT.Dialog makes developing Table based UI's an absolute breeze compared to the XCode equivalent. Couple with this the .Net BCL which is, admittedly a subset based on Silverlight, but it has everything from Serialization, Email to Cryptography etc... If .Net doesn't cover it, or there isn't a specific Mono* project, you can still use ObjC plugins with your MT code.

I disagree that MT has 'yet to prove itself' as a proven platform. We are using it, and whilst we are a relatively small company, there are lots of larger companies also using it. A few of the apps showcased by Apple in the TV ads here in Aus are, reportedly, written in MT.

In order to remain objective, the 2 'cons' of MonoTouch for me have been that you still need to be able to read ObjC (though, tbh, I don't see this as a con... As a 'C#' developer I have to be able to read and write a plethora of languages anyway) and the fact that, historically, MonoDevelop has been a bit buggy. The major bugs appear to have been squashed and, with it being an open source project, you can always fix them and help the rest of us!

To answer your concerns:

  1. We will have to store quite a lot of data on the client

Use the System.IO classes of .Net in C#. If you are unsure of these, MSDN has oodles of examples (MT hides the iOS implementation of file storage)

  1. The client wants the app to work offline

they can all do this, but a Native app is always going to feel better in my opinion.

  1. Our skill set is very much web development C# ASP.Net. Definitely not Objective C

MonoTouch is C# - play to your strengths and have an app in weeks, not months!

My 2 pennies! I would not hesitate to choose the same route again, again and again.

卷耳 2025-01-10 04:06:13

我已经使用 PhoneGap 一段时间了(在 WP7 上),但没有使用 MonoTouch,但我是一名经验丰富的 C# / Silverlight 开发人员。

MonoTouch 的一些优点:

MonoTouch 的一些缺点:

  • 您需要在 iPhone API 上再次编写 C# 代码,因此要移植到 Android,您需要为 MonoDroid 提供单独的 UI 层。

PhoneGap 的优点:

  • 它开始看起来像一个相当成熟的框架,许多应用程序都使用 PhoneGap 编写。支持的操作系统范围。
  • PhoneGap 拥有良好的社区支持,
  • 它使用 HTML5,许多人将其视为未来的技术。这是一个相当广泛的声明,但是,大多数大公司(微软、Adobe 等)都支持它。

PhoneGap 的缺点:

  • 它使用 JavaScript,可能是最容易被误解的语言广泛使用
  • 用户界面是用 HTML 编写的。尽管 jQuery Mobile 等框架尽了最大努力,但它永远不会让人感觉是原生的。
  • 因为它具有特定于平台的“shim”代码来提供一致的 API,所以您会发现特定于平台的问题。不过,我发现 PhoneGap 团队很快就修复了这些问题。

总结一下,一个艰难的选择!

就我个人而言,我会选择 PhoneGap,但不会尝试模拟任何特定操作系统的外观和感觉,而是创建适合您的应用程序的自己的 UI,并在所有平台上使用它。

I have used PhoneGap for a while now (on WP7) but not used MonoTouch, however I am an experienced C# / Silverlight developer.

A few advantages of MonoTouch:

  • You code results in a native UI, giving the best experience on all platforms
  • C# is an 'enterprising-strength' programming language. It is well suited to the development of data intensive applications
  • Your current skill sets will serve you well here
  • There are numerous applications written with MonoTouch available via the app store.

A few disadvantages of MonoTouch:

  • You write C# code again the iPhone APIs, therefore to port to Android, you will need to have a separate UI layer for MonoDroid.

Advantages of PhoneGap:

  • It is starting to look like quite a mature framework, with numerous applications written using PhoneGap across the full range of supported OSs.
  • There is good community support for PhoneGap
  • It uses HTML5, which many see as the technology of the future. This is a rather broad statement, however, most of the big players (Microsoft, Adobe, ...) are backing it.

Disadvantages of PhoneGap:

  • It uses JavaScript, probably the most misunderstood language in widespread use!
  • The UI is written in HTML. Despite the best efforts of frameworks such as jQuery Mobile it will never feel native.
  • Because it has platform specific 'shim' code to provide a consistent API, you will find platform-specific issues. However, I have found that the PhoneGap team fix these quite swiftly.

In summary, a tough choice!

Personally I would go PhoneGap, but not try to emulate the look and feel of any specific OS, rather, create your own UI that works well for your application and use that across all platforms.

对风讲故事 2025-01-10 04:06:13

昨天(2012 年 2 月 8 日)发布了 MonoTouch 新版本 - 5.2。许多新功能使开发 iOS 应用程序变得更容易、更快捷。有关它的详细信息可以从这里访问: http://blog.xamarin.com/

使 MonoTouch 成为可能的一件事一项特别有趣的技术是能够开发一些非常复杂的应用程序,这些应用程序无需互联网连接即可运行。这可能是一件大事。

There's a new release of MonoTouch that came out yesterday (Feb 8, 2012) - 5.2. Lots of new features to make developing iOS apps easier and faster. Details about it an be accessed from here: http://blog.xamarin.com/

One thing that makes MonoTouch a particularly interesting technology is the ability to develop some pretty darn sophisticated apps that can run without requiring internet connectivity. That can be a biggie.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文