Welcome to my very short talk about the project. I'm currently working on what I gave it
the name Aparoksha and yeah I'm going to explain a bit about how I organized this project
about the thoughts behind this project and it's important to note that this project is
quite young and and there are certain parts of the project which are fully implemented
but other parts are in a very early stage so don't be disappointed if you check it out
and realize that it's impossible to do too much with it and currently. So the fundamental
idea of the project that I'm currently working on is to find patterns in different
and fully native UI frameworks and so you can see the file manager of macOS and the
file manager of GNOME and you can see that there are so many parallels between those two design
languages that it's kind of natural to find a layer of abstraction that catches this
similarities so that enables those two different UI that are so similar to be built with one
code and yeah so for example you might see that those side bars that are available on
every platform also for example on windows with when you are and so it's it's very natural to
create this shared crosspad from framework and so for the developer experience and I had
Swift UI in the mind so and the declarative reactive framework that can be used and to create apps
for macOS, iOS and other apps all platforms and I just took some of the concepts and implemented it
in a more in an open source way as a way I mean it's it's all available and in a way that
that makes it possible to combine it with and with other UI frameworks that are already existing
and for other platforms for example at way to for GNOME and you can see there's this concept of
defining state and which models and what is currently visible in the user interface and there's
this very declarative definition of the UI itself so those are the main concepts of the
of the interface the developers can use and so I decided to design the architecture in a way
that enables most of the parts of an app one wants to build and to be actually written in
an interface that is in kind of similar to Swift UI so of course this shared framework is
crosspad from framework and called upper-oxa and this framework cannot we cannot use this framework
for all and parts of the user interface because there are complex views that are only available for
one platform or there are so many differences between similar views that it's difficult to implement
one widget and one view that is available on all the platforms and so I decided to
develop those smaller platforms specific libraries and that are so you can you can mix
and the crosspad from and part and the platform specific part with each other and through this
be able to to write as much as possible in an interface that is similar to Swift UI and what you can see
down there is that that I created this package and I called it meta and which enables a developer
to port any existing UI framework that is imperative and to Swift UI like style so
and so that this is a very generic library that can be used and to create such interfaces
from such an interface and just to illustrate how declarative also the definition of such
UI frameworks is so this is for example the definition for a label view and this translates
the declarative interface into the imperative interface so this is how it looks like
so in case someone is interested in implementing a UI framework for another platform that isn't
currently implemented and yeah so then there's like the crosspad form framework and which is based on
those native frameworks and well currently that's what one can accomplish with the crosspad
from framework so you can see and on we have certain views for example this alert view that is so
much standardized between platforms and that it's super simple to implement and there are other
patterns for example this the sidebar pattern I mentioned before and that is also very similar
between platforms but there are other patterns and such as this pattern here that is also very
very similar to sidebar it's like a sidebar with less items and so that's basically kind of the
two types of views there are the ones that are already very very standardized and the other
ones that are a bit more complex to implement but the availability of which it is currently
quite limited so yeah don't expect too much right now and yeah you can see there's the support for
Winnii as well and yeah so the the only part of the project that is quite useful at the moment is
the is the port for Known and because I'm a Known user myself and you can see there it is
it is possible to distribute an app straightening swift and using the most popular app store
on Linux which is called Flattop and there is a concept called Flatpack which enables an app to
be running a very restricted environment and and and ask for permissions for more stuff and
to do more stuff and and so I I devour I and and another and swift developer and called
chasey wasn't x86 and developed an extension for flatpack and which enabled swift apps to be
developed through flatpack so that's very very convenient also you can for example in an ID like
Known builder or in VS code with the flatpack plug and you can just open an app project written
in swift and the uses flatpack and you can run it right away you don't need to install anything
and except for flatpack and there's also a an tutorial on on the website and that you can
use to learn how to interact with advice for swift and this sample app and here illustrates
and what I mean by saying you can write parts in the native frameworks and other parts in the
cross-platform frameworks so that you can see here this is fully written in the cross-platform framework
while this view here is fully written in an iterator for swift so the so the so the framework
specifically for Known and so we can really mix those things and and it is and require to mix those
and things at the moment and there are certain patterns that aren't available on certain platforms
so this won't change and so for my plan for the future I will definitely implement some of our
widgets and I'll certainly add support for Pewds so for native KD apps and also add support for
iOS and as the back-and-from-acquests allows full interaction with swift y'all and actually there
is already a mobile operating system currently supported with Known so thank you for your attention