These are chat archives for AvaloniaUI/Avalonia

5th
May 2016
Jeremy Koritzinsky
@jkoritzinsky
May 05 2016 04:31
My computer’s battery just died so I’m going to really be out of commission until after exams.
Steven Kirk
@grokys
May 05 2016 04:41
ok, no problem - i will merge your changes into a branch and submit PRs for my ideas against that if that works for you?
Jeremy Koritzinsky
@jkoritzinsky
May 05 2016 04:42
Works for me!
If you want, I can re-target the PR to a new branch once you create it.
José Manuel Nieto
@SuperJMN
May 05 2016 11:16
hey men!
still here!
I'm sure you already know, but I'm now in charge of another international project related to face recognition and it's so important that I have to take pills to sleep!
if I do it OK, I'll get some glory
If I fail, I will fail big time
I live in the hope of some free time
if you have any clue on what to do to relieve the pressure of a zero-idle-time life to help me get out of this hurry, please tell me!
Darnell WIlliams
@ImaBrokeDude_twitter
May 05 2016 12:40
@grokys @jkoritzinsky Perspex.ControlLibrary is an ugly name
I think Perspex.Controls should have the actual controls and Perspex.Controls.Base or Perspex.Base.Controls should have the control infrastructure.
Andrey Kunchev
@donandren
May 05 2016 14:57
@grokys about issue #520 I've made some unit test that represent the situation with the leaks, I've added some comments to the issue
Steven Kirk
@grokys
May 05 2016 15:37
@donandren nice! leak tests and everything!
Jeremy Koritzinsky
@jkoritzinsky
May 05 2016 16:19
@ImaBrokeDude_twitter Id be up for Perspex.Controls.Base.
Steven Kirk
@grokys
May 05 2016 16:23
yeah Perspex.ControlsBase doesn't sound too bad to me, good naming is always important! ;) However, what advantages do you think it would give? The reason for splitting stuff up into separate libraries was to prevent cross-layer dependencies but Perspex.Controls and Perspex.Controls.Base would be the same layer
despite the fact that i did it, i don't really like having multiple different assemblies, as it's not like one can be used without the other and it makes deployment more difficult as you can't just copy a single .dll
if there were a way to prevent x-layer dependencies in a single assembly we'd use that
but happy to hear arguments for Perspex.Controls.Base
Jeremy Koritzinsky
@jkoritzinsky
May 05 2016 17:00
My main argument is so that our markup data layer doesn't have a dependency on our concrete controls. I would prefer to have our markup to have no dependency on anything more than infrastructure, so splitting out control infrastructure from the concrete controls will ensure that we don't ever add that dependency.
Also, I remember seeing in one of the conversations that @grokys had in the Portable.Xaml repo about possibly supporting multiple markup formats (also present in our roadmap as a maybe). By keeping the markup orthogonal to the control infrastructure, we have a good example pre-built of not crossing different layers of abstraction.
Steven Kirk
@grokys
May 05 2016 17:03
hmm yes that is a good argument
though i'm struggling to think of an example of where it might cause problems - got anything particular in mind @jkoritzinsky ?
Jeremy Koritzinsky
@jkoritzinsky
May 05 2016 17:07
Not off the top of my head. I have one use case, but I'm running off to a meeting so I'll type it out later.
Big Jake
@jakesays
May 05 2016 17:38
supporting different markup formats? i'm smelling a kitchen sink.
Steven Kirk
@grokys
May 05 2016 17:44
well i hate XAML ;)
but the idea isn't that we're going to replace it
the idea is that we're not tied to it like WPF etc
you can't do certain things there (control templates) without XAML
i would like that if someone decides that they want to write a e.g. QML markup parser for perspex. they can do it
Andrey Kunchev
@donandren
May 05 2016 18:06
@grokys i think there is still a problem with #520
Steven Kirk
@grokys
May 05 2016 18:11
yeah, i assumed so - reopened it
Andrey Kunchev
@donandren
May 05 2016 18:19
@grokys I've made some double checks and actually there is bug in my code
in the unit tests
Darnell WIlliams
@ImaBrokeDude_twitter
May 05 2016 18:19
@grokys I am late to the conversation, when using MEF, I can make my base module only need to ask for a base type (UIElement) with is just PresentationCore, and Window Base
That is more like the backend where I don't need the rest or the
Big Jake
@jakesays
May 05 2016 18:23
@grokys not an xml fan are ya?
Darnell WIlliams
@ImaBrokeDude_twitter
May 05 2016 18:25
Then the concrete stuff is implemented in the implementation modules if that even made sense
Big Jake
@jakesays
May 05 2016 18:36
so does anyone know what the state is of the skia backend?
Steven Kirk
@grokys
May 05 2016 19:31
@donandren oh, ok, so there aren't leaks there? can we close the issue again?
@jakesays not really no, though it's the best we have for now
@ImaBrokeDude_twitter sorry, not sure what you mean
Darnell WIlliams
@ImaBrokeDude_twitter
May 05 2016 20:33
@grokys Hey did you know Xamarin Forms lets you declare XAML based off the platform???

You can use Device.OnPlatform in code Behinds and OnPlatform/> in XAML

https://developer.xamarin.com/guides/xamarin-forms/platform-features/device/

Steven Kirk
@grokys
May 05 2016 20:36
no, i didn't know - i've never user xamarin forms
Jeremy Koritzinsky
@jkoritzinsky
May 05 2016 20:57
Finished up, so here was my idea: If we were to do our NuGet packaging how Rx does (if we don't than this point is moot) having the separation would give us the framework/concrete split in terms of controls. Why would we do NuGet like Rx? One pro: people building plugins for Perspex could limit their dependencies to only the level of abstraction that their plugin requires. Con: have to manage multiple NuGet packages.
Big Jake
@jakesays
May 05 2016 20:58
@grokys i may be able to contribute to the skia backend. i'm hoping to convince a client to pay for some time
Andrey Kunchev
@donandren
May 05 2016 20:58
@grokys yes I think there is no memory leak in this case #520
Steven Kirk
@grokys
May 05 2016 20:59
@jakesays that would be great - @jazzay has been working on the skia backend, would be worth getting in touch with him
Jason Jarvis
@jazzay
May 05 2016 22:20
@jakesays if you want to contribute to Skia here's a readme that outlines the open work left to do (that we know of) : https://github.com/Perspex/Perspex/tree/master/src/Skia/Perspex.Skia
Some of it is contigent on getting changes to SkiaSharp which we are now dependent on.
Big Jake
@jakesays
May 05 2016 22:21
@jazzay i'll make whatever skia# changes we need
thats where my expertise lies
we're running some skia# tests on the target device now to see if skia will work
Jason Jarvis
@jazzay
May 05 2016 22:22
Awesome. I have not looked at this for a couple weeks now, but I think a new version of SkiaSharp was pushed that may have some of our needs (ie. DrawRoundedRect). Also @kekekeks may have some additional information, and he was going to look at the HW acceleration stuff
Big Jake
@jakesays
May 05 2016 22:23
heh. my immediate need is perspex over a framebuffer
Jason Jarvis
@jazzay
May 05 2016 22:23
I have built/tested on Windows and iOS so far. Note that I updated the ControlsCatalog sample to also run on iOS so you can quickly see the state of most controls
Also I think they recently added SKPath functionality to Skia# that we need as well.
Big Jake
@jakesays
May 05 2016 22:24
you'll love the target device - a handheld point of sale terminal running linux and 64mb of ram.
Jason Jarvis
@jazzay
May 05 2016 22:25
Are you doing some work for @galvesribeiro ?
Big Jake
@jakesays
May 05 2016 22:25
yes
Jason Jarvis
@jazzay
May 05 2016 22:25
funny. I saw him talking about that project in the Orleans gitter. Small world we live in
Big Jake
@jakesays
May 05 2016 22:25
lol indeed
Gutemberg Ribeiro
@galvesribeiro
May 05 2016 22:25
hahaha
:D
Jason Jarvis
@jazzay
May 05 2016 22:26
I was thinking about throwing my name out for that gig, but i'm pretty busy :(
Gutemberg Ribeiro
@galvesribeiro
May 05 2016 22:26
the damn SkiaSharp is complaining about undefined symbols
lets dig deeper here
Jason Jarvis
@jazzay
May 05 2016 22:26
I hope he / @galvesribeiro pays well!!! :)
Steven Kirk
@grokys
May 05 2016 22:27
wow 64mb of ram! i think we might need to reduce our memory usage!
Big Jake
@jakesays
May 05 2016 22:27
lol
yeah might have to play some tricks
Steven Kirk
@grokys
May 05 2016 22:27
i did some work on that a few months ago and cut it by about 50% but there's still lots more than can be done
Big Jake
@jakesays
May 05 2016 22:27
excellent
Steven Kirk
@grokys
May 05 2016 22:28
we definitely use more memory than i'm happy with atm
Jason Jarvis
@jazzay
May 05 2016 22:28
Well targeting that sort of device will help us go on a diet!
Big Jake
@jakesays
May 05 2016 22:28
holy cow. just fired up an iphone 3g that hasnt been turned on in 3 years, and the battery still holds a charge
Jason Jarvis
@jazzay
May 05 2016 22:28
lean mean widget machine
Big Jake
@jakesays
May 05 2016 22:28
yup
the real interesting thing will be getting perspex on top of coreclr
Jason Jarvis
@jazzay
May 05 2016 22:29
Yah that will be exciting day
(when it's done)
Big Jake
@jakesays
May 05 2016 22:29
yeah not sure it'll ever be done. lol
perspex doesnt use appdomains or serialization, does it?
Gutemberg Ribeiro
@galvesribeiro
May 05 2016 22:31
serialization is a critical problem for us to port Orleans to core
Darnell WIlliams
@ImaBrokeDude_twitter
May 05 2016 22:34
FOr us it's really Rx.NET that needs to be made core ready
Big Jake
@jakesays
May 05 2016 22:34
perspex uses rx?
Gutemberg Ribeiro
@galvesribeiro
May 05 2016 22:34
we are talking with .net core team
to bring serialization back
Big Jake
@jakesays
May 05 2016 22:34
hah good luck
Gutemberg Ribeiro
@galvesribeiro
May 05 2016 22:35
specially that we serialize Exceptions across the server boundaries
Darnell WIlliams
@ImaBrokeDude_twitter
May 05 2016 22:35
if Rx.Net Becomes .net core ready, Perspex is going to be so very close to.net core ready it's not even funny
Yes, more specifically RxUI
Gutemberg Ribeiro
@galvesribeiro
May 05 2016 22:35
by me, I mean myself and some other MSFT guys from Orleans team
Big Jake
@jakesays
May 05 2016 22:35
I investigated serialization on coreclr - there's only one method that needs to be exposed to get it to work
Gutemberg Ribeiro
@galvesribeiro
May 05 2016 22:35
and yes, they already akcnowledged that they need get it back
GetUninitializedObject() is what we need mostly
Big Jake
@jakesays
May 05 2016 22:35
thats it
Darnell WIlliams
@ImaBrokeDude_twitter
May 05 2016 22:36
Serialization is something I would need too, yeah :O oi, that was missing???
Big Jake
@jakesays
May 05 2016 22:36
yup
serialization and appdomains go hand in hand
Gutemberg Ribeiro
@galvesribeiro
May 05 2016 22:36
they agreed that it will be put back... they are just discussing when
Big Jake
@jakesays
May 05 2016 22:36
er, remoting
when remoting went serialization and appdomains went with it
Darnell WIlliams
@ImaBrokeDude_twitter
May 05 2016 22:37
well appdomains, there is an argument with that, I use them heavily and I would love to have them, but idk how it would be useful on all platforms
Big Jake
@jakesays
May 05 2016 22:37
@ImaBrokeDude_twitter yeah dropping them was a total mistake
but thats what ms gets for basing coreclr on silverlight
Darnell WIlliams
@ImaBrokeDude_twitter
May 05 2016 22:38
No one really want's anything to do with WPF and it's messy ugliness :(
Big Jake
@jakesays
May 05 2016 22:38
also the embedding api is a huge thing
wpf isn't messy.
its just old
Darnell WIlliams
@ImaBrokeDude_twitter
May 05 2016 22:39
Well maybe not messy, but it surely isn't the newest -- yeah
Big Jake
@jakesays
May 05 2016 22:39
most of it was written before .net 2 was available
which is why its so typeless
Darnell WIlliams
@ImaBrokeDude_twitter
May 05 2016 22:39
I feel like they should have kept improving it instead of leaving it static
Big Jake
@jakesays
May 05 2016 22:40
i feel they should open source it :D
Darnell WIlliams
@ImaBrokeDude_twitter
May 05 2016 22:40
I'm all for it!
Big Jake
@jakesays
May 05 2016 22:40
i couldnt even get them to open system.xaml
Darnell WIlliams
@ImaBrokeDude_twitter
May 05 2016 22:46
Yeah something I would love to be able to use and understand x3
Steven Kirk
@grokys
May 05 2016 23:14
@jakesays yeah perspex uses rx for all its binding stuff
Gutemberg Ribeiro
@galvesribeiro
May 05 2016 23:55
@grokys did u ever saw that http://reactiveui.net/