Hoping to hear from some more experienced developers (completely new to protobufs as of yesterday). I've been researching how to get protobufs to work with iOS given that Google doesn't have a homegrown library for objective C.
Experimenting a bit, it seems there are two general approaches:
Use a third-party library - Booyah's objective C compiler - (https://github.com/booyah/protobuf-objc).
The issue is that it won't compile with protobuf 2.5.0, and requires 2.4.1. Does anyone see a compelling reason NOT to use this method and use the older version of protobufs?
Use C++ generated protobuf classes with some tweaking - (http://www.kotancode.com/2012/10/14/using-google-protocol-buffers-in-objective-c-on-ios-and-the-mac/)
This doesn't seem like a very clean approach and C++ bleeding into objective-C code doesn't sound like fun.
On a related note, I can't find any documentation on cleanly uninstalling 2.5.0 if I opted for the former approach. What's the easiest way to do this?
Thanks.
Related
I have been looking for a packet/library with a file browsing capability for WebDAV, which I could use for my project in objective c, using xcode 5.1. so far the best I have found is GDFileManagerKit. but it still has stuff unsupported by my ARC such as AFNetworking version used. I do not want to alt the code of this library since it requires many changes. I would like to know if there is a better library or without me having to use AFNetworking version 1.
Thank you and please bear with me if this question is very novice. I am new to objective c xcode and iOS
You could use one of several free libraries, for example WTClient. Yet, every library I have seen is not using ARC, instead managing memory without the garbage collector.
Seeing what has been done for Java with Xtend and Mirah I can't help but think someone must be playing around with something similar for Objective-C or even C and C++ for that matter.
After some searching I've come up with nil. Is anyone aware of a CoffeeScript like Objective-C implementation?
Update:
Good input so far from the two that have submitted answers, however wouldn't it be superior (realizing that that's a little subjective) to have an intermediate language that compiled directly to Obj-C precisely as per how CoffeScript works? Now, I'm not asking for CoffeeScript mind you, but rather some language that doesn't compile directly, but rather gives you a more readable top layer syntactically a la Xtend.
Yes: Eero, which provides a somewhat Python-like syntax for Objective-C, implemented using a modified version of clang. (I haven't tried using it, though, so I can't comment on how useful it is!)
MacRuby and RubyMotion let you code Mac and iOS applications (respectively) in pure Ruby. CoffeeScript is very Ruby-inspired, so if you enjoy that language, i think you'll feel at home with Ruby :)
Also, it is my understanding that both MacRuby and RubyMotion integrate nicely with the native environment; they don't run on a separate Ruby VM on top of Mac/iOS, so there is no big performance penalty and the native things are not that far away. So in that sense i think they are more similar in sipirt to Mirah for the JVM than to JRuby or Jython for example.
This project actually compiles Ruby -> native code in the end, thus making it possible to write iOS apps via Ruby. It's called UnderOS (uOS - because it's all about "u" according to the author ;)) and is about the best solution I've found if you want to do iOS development with Ruby:
https://github.com/under-os/under-os
Example of building a calculate app:
http://vimeo.com/81919125
Are there frameworks/generators for producing iOS code from any other language?
A dynamic language like JavaScript, ruby or Python are preferred. Googling for iOS code generators was largely fruitless.
The problem with systems like PhoneGap is that their output is a full-fledged application. What I need to produce is a library (.a & .h file eventually) that other Objective-C developers can reuse in their projects.
RubyMotion may or may not do what you want. I haven't seen much about the practicalities of it yet, but I'm thinking since it's statically compiled chances are good that it can produce libraries that can be simply linked into Objective-C projects. One might need another tool to produce the header files.
Of course, this is all speculation.
I think the best solution for what you're looking for is Titanium. It has its own sdk (in JavaScript), a complete IDE and allows you to have one codebase for all major platforms (iOS, Android included). What it's really awesome is the fact that it actually generates native code (a valid XCode project or a Java one for Android). It's also free and open source. Definetely worth a look.
I've never seen code generators, but there are a variety of "spoofs" as it were.
http://xamarin.com/monotouch - iOS on C#
http://phonegap.com/ - iOS on HTML, CSS , Javascript
http://ipodtoucher55.blogspot.com/2010/06/how-to-create-iphone-apps-in-flash-cs5.html - one of several tutorials for flash on iOS
I've seen links to python libraries and I think java too.
When it comes down to it though, they're all work arounds, not direct development.
I'm about to write code for Windows that has somewhat similar functionality to the one existing in already written application for iPhone. I'm thinking of separating common functionality to form a component and compile it to both to iPhone and to Windows. This code is written in Objective C and uses RestKit and Core Data (and probably sqlite). Is compiling it for Windows a viable task? As I understand it GCC could compile Objective C on Windows but I'm unsure about the RestKit and Core Data api availability on Windows. I have seen two names that could be of use: GNUStep and Cocotron but I don't know if they will play well together with RestKit.
Note: I have no idea about iOS development so I might be confusing things. Any help is appreciated.
You will not easily be able to share this functionality between your applications. CoreData uses a custom opaque (not documented) format for the sql store. You would be hard pressed to reverse engineer this.
You will probably save a lot of time by rewriting that part for windows, rather than trying to get it working. There really isn't much iOS code that can be reused under windows, unless you have written pure C or C++.
I'm looking for a library in c or objective c that does node-data visualizations similar to http://arborjs.org/
helpful answers include,
what are graphs like that called?
names of libraries that do something like that.
suggestions for implementation.
I'm targeting iOS and/or MacOS, hence c or objective-c/cocoa. On iOS the javascript version runs super slow.
Thanks!
Edit: GraphViz looks great. I'm a little concerned it may have dependencies that are GPL, and thus can't be used on iOS... looking into that now.
Actually there seems to be an Objective-C port of arborjs, see https://github.com/epreston/PSArborTouch.
This is called graph visualization and the best toolkit that I know for it is called GraphViz. It has C libraries.
That sort of graph doesn't have a particular name; not without knowing more context. So without more information, it's a "graph".
As for a library, there's an open source project called GraphViz. You'll have to dig a bit to find the drawing code, but it's in there somewhere. :)