From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Nala Ginrut Newsgroups: gmane.lisp.guile.user Subject: Re: Getting started web developpement with GNU Guile (with guile fibers) and BiwaScheme Date: Sun, 7 May 2017 03:18:06 +0800 Message-ID: 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 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1494098316 26108 195.159.176.226 (6 May 2017 19:18:36 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 6 May 2017 19:18:36 +0000 (UTC) Cc: Guile User To: Amirouche Boubekki Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat May 06 21:18:30 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 1d75Dq-0006dE-8m for guile-user@m.gmane.org; Sat, 06 May 2017 21:18:30 +0200 Original-Received: from localhost ([::1]:52447 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d75Du-0007vE-2N for guile-user@m.gmane.org; Sat, 06 May 2017 15:18:34 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39590) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d75DV-0007v3-3L for guile-user@gnu.org; Sat, 06 May 2017 15:18:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d75DT-0007TM-Vm for guile-user@gnu.org; Sat, 06 May 2017 15:18:09 -0400 Original-Received: from mail-oi0-x230.google.com ([2607:f8b0:4003:c06::230]:36784) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d75DT-0007TI-Re for guile-user@gnu.org; Sat, 06 May 2017 15:18:07 -0400 Original-Received: by mail-oi0-x230.google.com with SMTP id h4so17281354oib.3 for ; Sat, 06 May 2017 12:18:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=bymD7g0P2d5WVNWKwANukwVo7eKYeetedHC0d6GGRJ8=; b=P6i4cca3iKUOUfOhR0YeEJkqb3hypD4NpsqRi4udooYif9ulLCbVvA+1cndLTsB2p6 umtQ69FQPQ8CTmYuu6L9LLWTcVNvwG2J7uYWolBhJiQuEpnTeN5Vw3L3BRzPq+QyYWO8 /Ha16vOfhXTlvFWy2+37g0RlIFXD11kaQTokc7ppD6uqEyLch1i6vkJpHLyjCTu6sMPE ysfnGsHJZ9SVggAvUEVMG1s2xXcaQbt3EGMDt337P2Ydkl1AGe4YR5XJU2uf252LzCkr Z1VlJ1goSJCg0nkx0XYRrFQLVR0+p11+wd7/wxKe3gFWBQcHMLy3GEwUvrFv3LL4k0NE iAPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=bymD7g0P2d5WVNWKwANukwVo7eKYeetedHC0d6GGRJ8=; b=FrwYrZscn73w64WhKybtZjxSG/isbWwHo7+NCGhZ+Ag6BRjYFqOLHqv2g76j3rB3ty HSKX0Tl60l440HiN8O8+6j93UqxV3CJlNvoJT4JI4n+3S9tFmdR+wKK3KySZKQW+QwVZ 09B6g/iVhHlARGekZpIZspWC3HGeFl+c9fkDgzWdlkm1wU0TzpEbatwOcSuR9VnsV1fO z/fkDaR3HsTfwXi9fHa9IkqQd1oSgi3dICYfx6q5W7tnVf+KKkdmxdCO8P7ATqw06NRP KNV23Z1ZYp9eVIyd3rGNxs6Q//hnF9ZiwxUkCo5PHnyybcFc0gXpzehWOTMsBhBFKVqF Cd8w== X-Gm-Message-State: AN3rC/7TyyQqx8KP5iBT46uToFcgKre9MNbW/uDC36G2lMpH6sFP7s07 NjaisysaqEPKYkVwoXTKThUcTXezNQ== X-Received: by 10.202.183.87 with SMTP id h84mr17627222oif.108.1494098287015; Sat, 06 May 2017 12:18:07 -0700 (PDT) Original-Received: by 10.157.37.80 with HTTP; Sat, 6 May 2017 12:18:06 -0700 (PDT) Original-Received: by 10.157.37.80 with HTTP; Sat, 6 May 2017 12:18:06 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4003:c06::230 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 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:13687 Archived-At: Oh I'd love to see someone write web front-end with Scheme. Good job ! 2017=E5=B9=B45=E6=9C=887=E6=97=A5 02:47=EF=BC=8C"Amirouche" =E5=86=99=E9=81=93=EF=BC=9A I made a screencast explaining how I would start building a poll applicatio= n 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