No video

Building Pragmatic User Interfaces in Haskell with HsQML

  Рет қаралды 4,442

London Haskell

London Haskell

Күн бұрын

Speaker: Robin KAY.
London Haskell user group. 26th November 2014.
This talk demonstrates the basics of using the HsQML library to build rich cross-platform graphical user interfaces for Haskell programs.
HsQML is a Haskell binding to Qt 5, a popular C++ framework for writing desktop and mobile applications. Distinctively, the binding focuses on leveraging Qt's own domain specific language (QML) for describing user interfaces and closely coupling that environment to Haskell rather than exposing Qt's functionality directly. This trade-off was a pragmatic choice versus reimplementing more of the UI stack in Haskell and in return offers fluid access to Qt's widget library and design tools.
The talk illustrates, via a worked example, how to describe user interfaces using QML and then bring them to life by data-binding against Haskell code. The split between front and back ends invites a comparison with the web, but the two pieces are much more intimately coupled. Hence, we seek as much as possible for QML to be a lightweight skin over the underlying Haskell business logic and use the best tool for each job.

Пікірлер: 6
@RobinKAY0
@RobinKAY0 9 жыл бұрын
For reference, the HsQML homepage can be found at: www.gekkou.co.uk/software/hsqml/
@eddie2378
@eddie2378 7 жыл бұрын
Awesome. I can't wait to try this out. Does it support signals and slots running on different threads as well?
@JohnBastardSnow
@JohnBastardSnow 9 жыл бұрын
Web is cross platform, has the largest support (any new device wants to support it), has the largest community and can work instantly without a user needing to install anything. I think nowadays not writing your UI logic to render as HTML is shooting yourself in a foot. If you want to have a local app, you can just run a small local server. And that gives you options, because if you will ever want to go cloud, then it will be orders of magnitude easier to re-factor. If a user wants to have a remote GUI (e.g. access GUI from a phone instead of PC) they'll just need to open a link on another device, while still running the server on their main device, and it will work out of the box. They don't even have to open it in a browser, you can run your app in a webkit window, which will look exactly the same as a native app. And, of course, HTML has the largest support for responsive design as well (e.g. Zurb Foundation). I'm not even speaking about a design of an app and how easy it is to make a great design for HTML or the fact that it will be much easier to out source the design work to professional designers, the majority of which would prefer HTML/CSS to work with. TL; DR; I'm a lot more exited about new GHC-JS based libraries _LIKE_ Blaze-react, which promise a lot easier debugging and development due to time-traveling capabilities, and which in the end render HTML, which is what one usually wants nowadays. With blaze-react in particular it resonates with a popular programming talk given by Bret Victor called "Inventing on principle", which, IMO, is one of the greatest talks about development ever given. And that paradigm also resonates with ideas about minimizing the feedback cycle, which always leads to more productivity in any human/AI activity (whether it's coding GUIs, playing sports or findings patterns in data), because it has mathematical underpinnings.
@Vegetarianrage
@Vegetarianrage 9 жыл бұрын
We have a very *very* long way to go before developing web apps beats developing native apps on all fronts. There's a reason every service that matters still writes a native mobile app for every platform they care about.
@channel-ug9gt
@channel-ug9gt 9 жыл бұрын
where is the source for this sticky note app?
@gabriela.ts_
@gabriela.ts_ 9 жыл бұрын
I can't install it, the cabal install hsqml fails on it's dependencies, on windows haskell platform 2014
In Haskell, less is more
57:51
London Haskell
Рет қаралды 22 М.
Why Do Monads Matter?
1:19:12
London Haskell
Рет қаралды 30 М.
Or is Harriet Quinn good? #cosplay#joker #Harriet Quinn
00:20
佐助与鸣人
Рет қаралды 5 МЛН
wow so cute 🥰
00:20
dednahype
Рет қаралды 30 МЛН
Making Music with Haskell From Scratch
49:02
Tsoding
Рет қаралды 98 М.
JSON Parser 100% From Scratch in Haskell (only 111 lines)
1:50:07
Pipes
45:54
London Haskell
Рет қаралды 6 М.
The Most Terrifying IQ Statistics | Jordan Peterson
10:54
The Iced Coffee Hour Clips
Рет қаралды 1,7 М.
Евгений Борисов - Spring-потрошитель, часть 1
1:04:27
JPoint, Joker и JUG ru
Рет қаралды 513 М.
Recursion Schemes
1:50:29
London Haskell
Рет қаралды 9 М.
Kademlia, Explained
24:22
number 0
Рет қаралды 17 М.
Scrum in 20 mins... (with examples)
19:36
Codex Community
Рет қаралды 301 М.
Or is Harriet Quinn good? #cosplay#joker #Harriet Quinn
00:20
佐助与鸣人
Рет қаралды 5 МЛН