From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Amirouche Newsgroups: gmane.lisp.guile.user Subject: Re: Getting started web developpement with GNU Guile (with guile fibers) and BiwaScheme Date: Mon, 8 May 2017 14:53:56 +0200 Message-ID: <0089113d-1285-34ea-9cf6-e2477c010e33@hypermove.net> References: <9546dff3-8696-249e-955e-7c1f8a209833@hypermove.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1494248021 27967 195.159.176.226 (8 May 2017 12:53:41 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 8 May 2017 12:53:41 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 Cc: Guile User To: Nala Ginrut Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon May 08 14:53:33 2017 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d7iAO-00075l-SM for guile-user@m.gmane.org; Mon, 08 May 2017 14:53:32 +0200 Original-Received: from localhost ([::1]:59398 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d7iAU-0000Ly-AE for guile-user@m.gmane.org; Mon, 08 May 2017 08:53:38 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37206) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d7iA7-0000LA-Qd for guile-user@gnu.org; Mon, 08 May 2017 08:53:16 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d7iA4-000348-PX for guile-user@gnu.org; Mon, 08 May 2017 08:53:15 -0400 Original-Received: from relay7-d.mail.gandi.net ([217.70.183.200]:39562) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1d7iA4-00033c-Iv for guile-user@gnu.org; Mon, 08 May 2017 08:53:12 -0400 Original-Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by relay7-d.mail.gandi.net (Postfix) with ESMTPS id 5F7D8F91 for ; Mon, 8 May 2017 14:53:10 +0200 (CEST) Original-Received: from [IPv6:2a01:e35:2ef3:d930:b591:85d5:84ad:4805] (unknown [IPv6:2a01:e35:2ef3:d930:b591:85d5:84ad:4805]) (Authenticated sender: amirouche@hypermove.net) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id A571CA80CE; Mon, 8 May 2017 14:53:09 +0200 (CEST) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.70.183.200 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:13695 Archived-At: Le 06/05/2017 à 21:18, Nala Ginrut a écrit : > Oh I'd love to see someone write web front-end with Scheme. Good job ! > > I will see what new artanis will be out :) Tx! > > 2017年5月7日 02:47,"Amirouche" >写道: > > I made a screencast explaining how I would start building a poll > application > using by favorite tools of the moment. > > There GNU Guile in the backend using the new guile-fibers to run > the http server > workers. > > In the frontend I use BiwaScheme with snabbdom library for > interacting with the > browser. > > BiwaScheme is a Scheme interpreter written in JavaScript. > > Snabbdom is library that implement a diff+patch algorithm which > allows to declare > how the page will look and it make it happen. It also handles > bindings events to > callbacks. The use of snabbdom is bound to scheme and its use is > transparent. > > The first video, I try to explain what tools I will use and sort > of why. It's not > very interesting https://youtu.be/i47QgE0ihSw > > The second video, I tackle an issue in forward.scm, basically I am > bug hunting in > the browser: https://youtu.be/to8vdri82_E > > The last is the most interesing, it restart where I left it in the > previous video > with basically a minimal frontend (so you might want to look at > the 20 last minutes > of the second video). Anyway, then it goes on to allow the > frontend (client side) > to communicate with the backend (server side) using HTTP: > https://youtu.be/ePiHp1lgbas > > The code can be found @ https://framagit.org/a-guile-mind/azul > > > azul means "hello" in amazigh. > > Happy hacking! > > ~ amz3 ~ http://hyperdev.fr > > >