[SailfishDevel] Mono for Sailfish - round #2?

Dimitar Dobrev dpldobrev at yahoo.com
Wed Aug 19 14:32:47 UTC 2015


    Hello Bob, glad to hear from you again!
    1. There are 10 more days to go but I am more or less done for the Google summer. There's a single bug in our parser which blocks QtWidgets from being wrapped - which means from building GUI examples with Qt#. I am unfortunately busy with other work until the end of the month so I mostly rely on Joao for this one;    2. I personally would hardly be able to spare any effort on non-Qt parts of Sailfish. However, the Qt binding which is an essential module has been going well and I expect little trouble with platforms other than Windows;    3. It's a long story for a single e-mail. Let's say that Qt Quick is, as far as GUI is concerned, an alternative to QtWidgets. What is of main concern to us is that the approach in QML is radically different which means it's not enough just to wrap the C++ code and work with QML. Integration with the host language has to be added, so that when a property is changed or a signal in emitted in QML, C# can detect that. This makes wrapping QML an entirely new and non-trivial task;    4. I am little familiar with Silica but as long as it's standard C++ headers, libs, and QML files, I cannot think of any trouble we might have - provided that point 3. has been completed, of course;    5. C++# works with headers and libs, it does not need source code. So for our particular job we couldn't care less if Silica's closed or not.    
    I hope I have been helpful, otherwise let me know.

    Regards,    Dimitar
    



     On Wednesday, August 19, 2015 3:24 PM, Bob Summerwill <bob at summerwill.net> wrote:
   

 Greetings! How was the Summer of Code QtSharp project gone, Dimitar and Joao?   Is the period ended or still ongoing?Where would you say we are now sitting in terms of being able to start of a revival of Mono for Sailfish or .NET Core for Sailfish and the Qt binding to go with that? Perhaps somebody could also educate me on QtWidgets Vs QtQuick, and on differences in approach of Qt use in KDE, Plasma, Ubuntu Touch and Sailfish?  Any other platforms we need to consider? Also, if somebody could confirm that there is nothing hidden in Silica, and that it will be physically possible to bind, that would be great.Also, if somebody could make a definitive statement on the current licensing status of Silica, that would be much appreciated.   Maybe with the company split, there will be more appetite for starting to talk about paths to open sourcing of Silica again? Is Silica the ONLY non-open-sourced part of Sailfish?   Alien Dalvik is obviously commercial, but isn't really part of Sailfish per se, right?   It is just something which was bundled with the Jolla Phone.   Is it bundled with the Tablet too? On Jun 20, 2015 2:54 AM, "Giuliettasw" <users.giulietta at gmail.com> wrote:

Qtquick 2.0 is to be preferred over qtwidgets starting qt 5.0 btw.Iirc qtwidgets support on sfos is limited?
Besz,tortoisedoc

Von meinem iPad gesendet
Am 18.06.2015 um 14:20 schrieb Dimitar Dobrev <dpldobrev at yahoo.com>:



    Hi all,
    Bob, GSoC is over at the end of August. However, I think that some demos will be able to be built at least a month earlier. The reason is that we only need complete support for dependencies. I have already completed the mechanism itself, what I need to do now is fix 5 or 6 bugs revealed by the first dependent module - QtGui. Once that's done, I'll have only QtWidgets to wrap which means that Qt# will be ready for building visual examples.
    Regards,    Dimitar
 


     On Thursday, June 18, 2015 10:23 AM, Bob Summerwill <bob at summerwill.net> wrote:
   

 >> In this context a bind of Xamarin.Form could be really interesting to catch developers attentions>> and allow for easy app port for the many that are using that technology (and this day seems a lot).>> Michele
I asked Xamarin about that last year.   Whether there was an opportunity for me to build Xamarin.Forms support for Tizen/Sailfish with their help/co-operation.   The answer was no.
Xamarin.Forms is a pure commercial offering from Xamarin, which is built on top of Mono, which is open-sourced on some platforms and closed on others (iOS and Android).
Getting a Xamarin.Forms for Tizen/Sailfish would not be binding project.   It would be a reverse-engineering product.   End-users would need to include some core assemblies in their application which they could only obtain if there were a Xamarin paying customer.    And for the Sailfish-specific Xamarin.Form bindings we would need to reverse-engineer how the platform-specific assemblies for Xamarin.Forms are built, and then make one for Sailfish.
So while this is technically possible, it is not something which Xamarin would support and it is something they would actively fight in all likelyhood.   And it might be a lot of work.
As you say, though, it would be damn sweet!   Shared XAML for Windows Phone, Surface, PC, XBOX360, iOS, Android and Sailfish would be cool.

Cheers,Bob
On Thu, Jun 18, 2015 at 2:58 AM, Michele Tameni <michele at tameni.it> wrote:

In this context a bind of Xamarin.Form could be really interesting to catch developers attentions and allow for easy app port for the many that are using that technology (and this day seems a lot).Michele
2015-06-18 8:42 GMT+02:00 Bob Summerwill <bob at summerwill.net>:

Greetings!
Last year the Mono for Sailfish project was announced, development started and then withered and silently died.   That was mainly due to reasons related to my own personal situation (I lost a job and had to focus on job-hunting, not Kitsilano Software, etc) rather than any lack of technical merit of the project.
   http://monoforsailfish.com
   http://www.mobilelinuxnews.com/2014/08/introduction-mono-sailfish-os-jolla/

Anyway.  It is a new year, and circumstances have changed.   After several months in the doldrums, the winds have changed in our favor again, sailors!
1. Microsoft have open sourced .NET in a major way, and are supporting it on Linux and Mac OSX.   They announced that last November and in April of this year they made the first preview releases for OSX and Linux.   See http://venturebeat.com/2015/04/29/microsoft-releases-net-core-preview-for-mac-and-linux/.   The did the most amazing .NET Core demo "trick" during //BUILD, which was creating an ASP.NET 5 web app (ASP.NET5 is open-sourced too) in Visual Studio on a Windows PC, deploying that app into a Linux Docker container (so .NET Core assemblies on Linux with the ASP.NET5 assemblies on top of that) and then running that app and hitting a breakpoint and single-stepping through the app).    So debugging a .NET app running inside a container, running on a different OS.   Kind of cool.     .NET Core is going to be an even better base for getting .NET onto mobile Linux than Mono was, because it has the full weight of Microsoft support behind it.   They want that .NET platform available for Linux to support ASP.NET apps inside Azure.   Mono on Linux wasn't supporting any business for Xamarin, so was a little unloved.   Their focus is on Android and iOS.
Aside - Microsoft also released this - http://www.hanselman.com/blog/IntroducingVisualStudioCodeForWindowsMacAndLinux.aspx.
2. QtSharp (https://github.com/ddobrev/QtSharp), the project on whose completion Mono for Sailfish was dependent, has got funding as part of the Google Summer of Code, so will be brought to functional completeness on Windows, OSX and Linux this year.  That is fantastic, because I was personally bankrolling that non-Sailfish-specific work as part of Mono for Sailfish.   It moved along for a couple of months under Mono for Sailfish, but it was apparent that there was a lot of work more work to be done to get to that 1.0 version.   But that will now be moving ahead independently of Mono for Sailfish, which is great to see.   Dimitar Dobrev is the developer.  Hi, Dimitar, and congratulations on securing funding from GSOC!
Deliverables: Improve the QT bindings generator to the point that they can be used for a non-trivial QT sample written in idiomatic C#.

https://www.google-melange.com/gsoc/project/details/google/gsoc2015/ddobrev/5741031244955648

https://trello.com/c/b34YKGIi/57-cppsharp-continue-mono-net-bindings-for-qt

When the QtSharp GSOC project is over (when is that, Dimitar?) and we have a non-trivial Qt sample written in idiomatic C# working on Windows, OSX and Linux, I think we are in a position to look at rebooting this project, though it would be .NET Core for Sailfish now, not Mono for Sailfish.
This new project would have much of the same flavor as the last one, but have a smaller scope of effort required to get to a 1.0 release:
1. Get .NET Core runtime for Linux working on Sailfish (should be similar scope to the work which Damien Diederen did for MonoTizen).   See http://monotizen.com.
2. Build MonoDevelop plugin for Sailfish (should be similar scope to the work which Damien Diederen did for MonoTizen).   See http://monotizen.com.
3. Build wrappers for Sailfish-specific Qt/QML components, so that apps of similar complexity to the deliverable of the GSOC project can be built on Sailfish.

With regard to this third point, is there a Wiki page or other posting detailing the latest state of licensing for Silica?   Has that moved at all since last year?   Are more QML components being open-sourced?   And just to be clear, there is no "source code hiding" going on with Silica, right?   It is just that certain files are not under an open source license?   Nothing that would hinder this binding work, eh?

Cheers,Bob SummerwillKitsilano Software(http://bobsummerwill.wordpress.com/about)


-- 
bob at summerwill.net


_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscribe at lists.sailfishos.org




-- 
michele tameni




-- 
bob at summerwill.net



   

_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscribe at lists.sailfishos.org

_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscribe at lists.sailfishos.org



  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20150819/c2282179/attachment-0001.html>


More information about the Devel mailing list