Is it possible to use the iSQL SDK (www.mobilefoo.com) with MonoTouch considering that the iSQL SDK is a client library meant for use with XCODE and objective-c code?
Yes - not a complex task but a bit time-consuming. Although you should only have to do it once (until they extend their libraries.)
Instructions on how to bind to Objective C libraries and types are here: http://wiki.monotouch.net/HowTo/Interop/Consuming_3rd_Party_ObjC_Libraries
It might well be worth contacting mobilefoo about this too as I'd imagine they'd be interested and might even help.
Related
I am wondering what level of support the latest MonoTouch has for using SQLite. The closest information I can find is this article here which referes to limited support in v1.2 however it concedes that you may run into run time errors while using this.
This is what I found on the Xamarin website: http://docs.xamarin.com/ios/Guides/Advanced_Topics/System.Data
This really scares me. Is there any documentation out there indicating what current level of support Xamarin has for SQLite?
I can't speak about the changes in System.Data support past that article, but I think it's quite common for folks to use csharp-sqlite, or better yet sqlite-net instead. Csharp-sqlite is an independent port of SQLite. And sqlite-net is "better yet" in the sense that its a minimal library where you can drop a single file in your project and use it to support sqlite on the various mono platforms. Yet it has nice features still such as "strongly typed queries" due to reflection-based ORM. So if you don't need a full Sqlite driver its a good option.
Greg Shackles did a nice seminar on x-platform dev with Monotouch/droid back in April where he covers these and other libraries: http://blog.xamarin.com/2012/04/25/cross-platform-mobile-development-seminar/
This link is outdated, it's about MonoTouch 1.2 and the latest MonoTouch's version is 6.0.
I'm using Sqlite with Vici CoolStorage in two apps on App Store: easy and no problems at all. I've never see any runtime errors using Sqlite.
I make small investigation how good is monotouch and mono for android comparing with native code? What I need is numbers and maybe some other info about advantages and disadvantages of monotouch and mono for android...
Thank you!
I don't have comparison figures but I have used both MonoTouch and MonoDroid for an OpenGL application.
The type of application your making may make the difference to you.
If you want to create a cross platform application I personally would go with Mono as its probably going to be more productive in the end.
I have must say MonoTouch outperforms MonoDroid, probably because of the .NET to java interop that must take place on Android (and the Java on Android seams to be slow)[At least android 2.2+ devices].
There is also Mono.Simd if you need speed optimizations.
UPDATE: "Mono.Simd" is not available on MonoTouch or MonoDroid.
I know this is not a real answer, but in my opinion, it is the best. You can get both a native app as well as lots of code re-use. There are lots of things out there that could help you make a decision, but also look at the Xamarin blog.
here a link that may help you :
http://www.koushikdutta.com/2009/01/dalvik-vs-mono.html
based on that mono is way faster than java dalvik!
I would like to use dockpanel suite in Linux or Mono platform. I heard that there is some methods to modify the source code of dockpanel so that it can be used in Linux platform with all its features like drag and drop and all.Can anyone guide me to achieve that?
Due to its close bindings to Win32 API/PInvoke, currently it is impossible to use full features on Mono. You probably misinterpreted others' words.
Edited: DockPanel Suite 2.6 and above contains Mono support that I developed, http://dockpanelsuite.com
Yes and No.. You can write a silverlight 4.0 program and run it in a browser window on linux you can use silverlight controls.
If you are feeling really brave you can use MoonLight (silverlight by mono) to write full desktop apps on linux. One helpful set of tools (shameless plug) for doing this is MoonBase
But.. Generally, No, if you mean the WPF DockPanel control, you can't use that on top of Mono.
I know you've used WPF tag, but what you heard indicates rather winforms. In such case you may be interested in this. If you really had WPF in mind, look at the IanNorton's answer.
I am reading up about linking native libraries into MonoTouch, specifically this documentation:
http://monotouch.net/Documentation/Linking_Native_Libraries
Here it describes linking to C libraries. Is it also possible to link to C++ libraries from MonoTouch? I am very new to MonoTouch and particularly to importing libraries, so I would appreciate any advice about problems I may face trying to import a C++ library, if this is indeed possible. Would wrapping the C++ library in an Objective-C library and then using btouch to import this be a good route to take? Or is there an easier approach? Bearing in mind that my knowledge of C++ (and Objective-C for that matter) can best be described as "dangerous". ;)
The reason that I ask is that I am needing to make use of a C++ API from Sybase to access their Ultralite database. I have managed to get a sample application that accesses the Ultralite C++ API working in Xcode, with Objective-C. But now I am trying to port this sample to MonoTouch. The sample application can be found here:
https://github.com/BruceHill/Ultralite-Names-Sample-ObjC
The Sybase documentation for Xcode mentions the following, with reference to using the API in Xcode:
This tutorial uses the UltraLite C++ API. In order to eliminate the need to cast to C types, compile the source as C++. To compile the project as C++:
In the Search in Build Settings box, enter Compile Sources As.
Choose Objective-C++ from the options in the Value field
What are the implications of this for working with this API in MonoTouch?
You can certainly use a C++ api, but you will need to either wrap it in a C api, or a ObjC+btouch api to be able to talk to this. Invoking C api's uses PInvoke, and C++ libraries use symbol mangling. While theoretically you could pinvoke to the mangled symbol, this isn't a good idea as the mangling is compiler specific.
Does any one know in which programming language were Google Talk application developed.
yes am asking about the windows client application. :)
http://www.google.ro/talk/
googletalk.exe -> Compiled with: Microsoft Visual C++ 7.0 [Debug]
gtalkwmp1.dll -> Complied with: Microsoft Visual C++ 7.1 DLL
So GTalk is written in C++
You'll find http://www.peid.info/ pretty useful for this kind of stuff.
According to Steve Yegge, Google is using C++, Java, Python, and JavaScript. So the answer would be C++ :)
Google released an open source library for Google Talk called libjingle, which is written in C++. So logically, the Windows client would probably be C++ too.
Do you mean the client side, or the server side ? The talk protocol is Jingle and libraries are available in C/C++/Java.
Ideally the protocol would be language independent, and consequently both sides (client and server) would not be constrained to a particular language.
According to this Google-talk Wiki, it uses libjingle which they've implemented in C++. However, a company as big as Google is big enough to develop their own in-house compilers with support for whatever dialect they prefer. This would be a sensible thing to do for Google, to have something which could be compiled for every operating system that they want to support.
I don't have Google-talk but I checked the binaties of Picasa, another Google application. It mentions the Visual C++ Runtime Library so I guess I'm wrong and Google is probably just using Visual Studio instead.
In general, C++ is a platform-independant language, making it the most appropriate language to use to write new projects. However, depending on the desired functionality, you do need the proper libraries for all the platforms you want to support and make sure they all expose the same methods.
Java generates platform-independant binaries. As such, it's more powerful than C++ but those binaries depend on the Java Virtual Machine, which reduces their performance. This makes them less qualified.
There are plenty of other languages that could have been used but Google is most likely using a language that supports as many platforms as possible. (Including the future Google Chrome Operating System.)