Coder Social home page Coder Social logo

remote-js's Introduction

Build Status Coverage Status Quicklisp

Common Lisp web apps on the desktop.

Overview

Ceramic takes an ordinary Common Lisp web app, and bundles it into an executable you can distribute, so your users can install it and run the app and server in a dedicated desktop window like any other app.

See the documentation.

License

Copyright (c) 2015 Fernando Borretti

Licensed under the MIT License.

remote-js's People

Contributors

eudoxia0 avatar mikeivanov avatar svetlyak40wt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

remote-js's Issues

Sample code error

Hi @eudoxia0

The example code on the documentation has some errors that prevent an easy tryout of the lib, at least in windows.

  1. When calling make-context by default, server will be 0.0.0.0; this wouldn't work on windows systems.

It must be something like:

(remote-js:make-context 
                    :address "127.0.0.1"
                    :port 40000)

1.1 Context IP address needs to be a string otherwise the produced HTML won't work. I mention this, because the usual convention on other libs is to specify IP address as a vector of ints.

1.2 This makes the remote-js test fail, at least on Windows, since it sets address to 0.0.0.0

1.2.1 And it will fail anyways, since trivial-open-browser invokes "explorer " which opens a file explorer and no url.

  1. The context server needs to be started to be used. This isn't mentioned on the documentation.

Server doesn't execute the callback

Environment

Windows 10 64-bit
Chrome 71.0 64-bit

steps:

  1. Make context to 127.0.0.1 port 40000, with callback exactly as shown on the example (should print a message after receiving callback)
  2. Create HTML with remote-js:html
  3. Open HTML in browser
  4. Try remote-js:eval to send js code to the browser. Result: Success, i can make the browser show an alert.
  5. Try remote-js:eval to make the client execute RemoteJS.send('hi!'), exactly as in the example.

Expected result:
"Received: hi" on the REPL console

Actual Result:
No message. Callback appears to not be executed.

Status of the context class:

#<REMOTE-JS:CONTEXT {10039C4B43}>
--------------------
Class: #<STANDARD-CLASS REMOTE-JS:CONTEXT>
--------------------
 Group slots by inheritance [ ]
 Sort slots alphabetically  [X]

All Slots:
[ ]  ADDRESS  = "127.0.0.1"
[ ]  CALLBACK = #<FUNCTION (LAMBDA (M)) {10039C497B}>
[ ]  HANDLER  = #<HUNCHENSOCKET:WEBSOCKET-ACCEPTOR (host *, port 40000)>
[ ]  PORT     = 40000
[ ]  RECORD   = NIL
[ ]  RUNNINGP = T
[ ]  SERVER   = @1=#<TRIVIAL-WS:SERVER (1 connected clients of class CLIENT)>

[set value]  [make unbound]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.