[SailfishDevel] Mono for Sailfish - round #2?

Bob Summerwill bob at summerwill.net
Fri Aug 21 13:15:18 UTC 2015


Hi Dimitar,

Great information.  Thank you!

So in the same way that CppSharp provides the glue and mappings between C++
and C#, when QML comes into the picture we need a similar binding/mapping
to pipe from V8 <-> C# and that is something new?  I guess that I had
naively assumed that the existing V8 <-> C++ bindings could just be wrapped
by CppSharp.   Is that not the case?

Does QtQuick do C++ codegen?   It must.  Or does it just suckin line C++
fragments within the QML into the build process and do that binding inside
somewhat of a black box?

Please excuse my ignorance, everyone!
On Aug 19, 2015 10:35 AM, "Dimitar Dobrev" <dpldobrev at yahoo.com> wrote:

>
>     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 <http://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 <http://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 Summerwill
> Kitsilano Software
> (http://bobsummerwill.wordpress.com/about)
>
>
> --
> bob at summerwill.net
>
>
> _______________________________________________
> SailfishOS.org <http://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 <http://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/20150821/bc799b36/attachment-0001.html>


More information about the Devel mailing list