Xamarin iOS & Android support -> GitHub

Apr 21 at 12:44 PM
Hi!

I am currently working on a cross-platform app project that includes WP8, WinRT as well as Android and iOS.
We are currently using Xamarin and that works out well.
However, we need to synchronize our client sqlite databases as well. There is a port of the sync framework to Xamarin iOS and Android by wmeint: https://github.com/wmeints/SyncFrameworkToolkit
However it does not include support for sqlite yet. So I plan to implement it myself by copying your code - essentially.

So I wanted to ask you, whether you could move this repo to github so it is easyer for me to contribute. Otherwise I will just take your source and create my own repo but that does not make too much sense. I think we could work together. ;-)

What do you think?
Apr 22 at 7:14 AM
Additionally: Where did you take the SQLite attributes from?
They seem very similar to the ones of SQLite.NET.
Apr 22 at 4:27 PM
hmmm... no replies yet. This seems to be not of any interest to you. ;-)
In that case I'm going to just port it to github myself, but it would DEFINETLY be of greater value if we'd both contribute to the same codebase. And git pull-requests are simply superior to "good ol' tfs" ;-)
Apr 22 at 4:32 PM
Also - I saw you are unsing SQLitePCL which does not have many downloads yet. Why did you choose this library?

I am particularly asking as there is a (in my opinion) better alternative: SQLite.Net https://github.com/praeclarum/sqlite-net
This is AWESOME as it also has LINQ support and supports creating tables from CLR types, while still allowing you to execute any arbitrary SQL command via Execute or ExecuteScalar.

Additionally, there is a contribution-library "SQLite-Net Extensions" that also allows for 1:1, 1:N and N:M relationships which makes it a littel more like EF Code first: https://bitbucket.org/twincoders/sqlite-net-extensions

I can understand, if you do not need those ORM features for your sync functionality, BUT it is a huge benefit for those who want to access the client database using an ORM isntead of old fashined DataReader/DataWriter access style.

What do you think?
Coordinator
Apr 23 at 9:42 AM
Sorry, didnt see your post...

Here is my answers (explained with my poor little English :) )

SQLitePCL :
It's the SQLite Library from MSOpenTechs.
The main reason why I switch from SQLite-Winrt (from Andy Wigley) to SQLitePCL is the fact than ... humm .. well "there is a team who work on it" So I assume this version wont be obsolete too quickly and will be maintained in the future.
I think this Library could potentially being the reference of SQLite API and it is not so intruisive.

I know SQLite.Net from praeclarum, and this Library is great.
But I think this Library must be used by the final developer in its own project.
If i Choosed to integrate this Library in my project, "I literally force" the developer to use it.. And I dont want such behavior.
I want that the developer must be able to choose its own Library to work within its project. That's why I choosed SQLitePCL.
To be honest, i think, maybe in a next release, to integrate a little fork of SQLitePCL sources directly in my project, in private mode, to be FULLY independent from the SQLite access API.

Github
Well, you can fork my source code :) No problem.
At the moment to be honest, I don't have too much time to migrate to github. I use Codeplex and its Team Foundation integration and it's pretty simple for me to use it.
I know github and its source control are fully integrated within Visual Studio. So why not, but not today :)
If you want to contribute on the project, I can add you as contributor, let me know :)
Apr 23 at 12:44 PM
Hi!
Thanks for the response!

SQLitePCL: "If i Choosed to integrate this Library in my project, "I literally force" the developer to use it.. And I dont want such behavior. "
Well the problem with that approach is, that you already HAVE to use the entities generated by sync fx toolkit, right?
So my point is, that I want to have statically typed access to my database through SQLite.net, BUT I do not want to have duplicate entity POCOs. Or did I mix up something here?

Github: Hmm I see. The problem I see with TFS (although I used it myself for years) is that is is MUCH harder to allow for contributions. On Github you can just create a copy of any repository (fork), then make your changes on a branch, and then github asks you whether you want to send the owner of the original repo your changes so he/she can merge them in (pull request) -> that is a very powerful way of allowing for contributions that is really missing in TFS. So IF i will take over your code, I will move to GitHub - sry. But I can make you an admin as well :)

and when it comes to your "poor little English" -> I am from Austria and no native speaker, so your English is wayyyyyy good enough for me ;-)
Alors á bientôt! ;-)
Coordinator
Apr 24 at 9:39 AM
I will give a try to Github, why not

let me juste one week to fully understand how it's working


For the entities problem, you don't HAVE TO use generated entities if you dont want to, but you can.
First of all they inherit from a base class, and some developers doesn't want entities with additionnal properties (from the base class)
They are used for synchronization only.

So YES, you can use them, but that's not mandatory :)


Sebastien
Apr 24 at 2:31 PM
Oh - ok.. so I missed that part.
Seems I have to dig deeper into your sample applications.

One thing I'd like to add as well is the ability to sync arbitrary tables over the service which is kind of hard right now, as the rest-service requires kind of a static schema. but I'll look into that.

Awesome that you are coming to github. Hust so you get a little into - there's a video on channel9 from the latest build2014 conference: http://channel9.msdn.com/Events/Build/2014/3-590
Might be useful ;-)