[MonoTouch] Protocol Buffers + MonoTouch = And Interesting Approach To Improving Application Performance

Lee Whitney lwhitney at hdgreetings.com
Sun Aug 16 10:32:28 EDT 2009

What do you think is the most common scenario for monotouch apps benefiting from ProtocolBuffers?

I really dig your passion to improve the platform, I'm just wondering if you are thinking more of internal app use, or of implementing binary services on the Internet for an app to call efficiently?

I got the impression ProtocolBuffers were most often used as a datacenter or intranet technology, for example to let Google have nodes talking to each other really fast.  I wasn't aware many people had started using them on the public internet.

Also I assume this requires opening another server port for handling PB requests?  It took web servers quite a while to refine pretty solid security, I assume a PB server would a similar evolution?

Just curious - I haven't actually used them yet myself.


From: monotouch-bounces at lists.ximian.com [mailto:monotouch-bounces at lists.ximian.com] On Behalf Of M. David Peterson
Sent: Sunday, August 16, 2009 2:04 AM
To: chris at foundation42.com
Cc: MonoTouch at lists.ximian.com
Subject: Re: [MonoTouch] Protocol Buffers + MonoTouch = And Interesting Approach To Improving Application Performance

On Sat, Aug 15, 2009 at 9:59 PM, Christian Beaumont <chris at foundation42.org<mailto:chris at foundation42.org>> wrote:
I tried getting it to work today but there were far too many problems with generic types because of AOT code gen.  Specifically, the on-the-fly generic method creation was failing.

Oh, yeah, that's a portion of the ProtocolBuffer specification that as far as I know will never work with iPhone apps as -- again, as far as I know (and I assume this is all redundant info to you as well) -- you can't dynamically create an executable page file which makes the notion of the on-the-fly code generation and related serialization and deserialization all but impossible.  Of course, I'd love nothing more than to be proven wrong! :-)

Although I tried to come up with some workarounds, things started to get hairy pretty quick and without knowing the code much better I don't think it's a quick fix.

As long as you're dealing with predefined/generated ProtoBuf class files, then unless there are some MASSIVE differences between what can be accomplished on Silverlight compared to what can be accomplished on the iPhone, then there should be very little, if any work to be done.  Of course, this is assuming limited use of generics within these class files that fall within the scope of what is and is not directly supported by mtouch AOT compilation.

Would be nice if it could be made to work though!

Agreed! Definitely going to require some trial and error, but I think we can make it work.  Have you been working from SVN HEAD or from the latest release?


M. David Peterson
Co-Founder & Chief Architect, 3rd&Urban, LLC
Email: m.david at 3rdandUrban.com | m.david at amp.fm<mailto:m.david at amp.fm>
Mobile: (206) 999-0588
http://3rdandUrban.com | http://amp.fm | http://www.oreillynet.com/pub/au/2354 | http://broadcast.oreilly.com/m-david-peterson/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/mailman/private/monotouch/attachments/20090816/5ec901f1/attachment.html 

More information about the MonoTouch mailing list