Code Monkey home page Code Monkey logo

puck's Introduction

Puck

Software can sometimes feel a bit like:

I'll follow you. I'll lead you about a round, Through a bog, through bush, through brake, through brier. Sometime a horse I'll be, sometime a hound, A hog, a headless bear, sometime a fire, And neigh, and bark, and grunt, and roar, and burn, Like horse, hound, hog, bear, fire, at every turn. (III.i.)

  • Puck in Act III of Shakespeare's "A Midsummer Night's Dream"

Let's try to tame the complexity!

Start here

Puck is a (very experimental) HTTP library for the Lunatic Virtual Machine.

Have a look at examples/list for more details :)

Goals

  • Fast compile times (i.e. not longer than >10s for an incremental build)
  • Correct
  • Secure

Non-goals

  • Be the fastest web framework

Licensing

Puck is provided under the terms of either the MIT license or the Apache 2.0 license – at your option.

By submitting code to Puck (e.g. by opening a pull request), you agree to license your contribution under these terms.

puck's People

Contributors

teymour-aldridge avatar bors[bot] avatar

Stargazers

이재현 avatar Dean Srebnik avatar Maxime Alardo avatar wildeyes avatar  avatar  avatar ypa y yhm avatar  avatar anishcr avatar Shannon Skipper avatar Karan avatar Brendan P.  avatar Munjal A Patel avatar Dylan Jones avatar Vikrant Sagar avatar Lucian Weber avatar Trent avatar Dei Vilkinsons avatar James H. avatar Jonathan Frank avatar Tanjim Hossain avatar axionbuster avatar Ilmari Vacklin avatar Volkan Çakıl avatar  avatar Adedayo avatar Michael Salaverry avatar  avatar Le Gia Hoang avatar Andrew Chou avatar  avatar John Montgomery avatar Miaourt avatar Shiimizu avatar ngx3 avatar Ilya Salauyeu avatar Luke Matthew Sutton avatar ChanYub Park avatar Shakthi Visagan avatar Zack Radisic avatar  avatar Luke Frisken avatar Christopher Joel avatar Steve Phillips avatar Euiseo Cha avatar  avatar Hyeseong Kim avatar David M. Golembiowski avatar Zoo Sky avatar Everton Ribeiro avatar Askar Yusupov avatar Milan Zivkovic avatar Adriano Santos avatar Noah Corona avatar  avatar Dennis Dang avatar Alex wang avatar Jake Champion avatar Suminda Sirinath Salpitikorala Dharmasena avatar Zeb Piasecki avatar Bernard Kolobara avatar Tadej Stanic avatar

Watchers

 avatar David M. Golembiowski avatar

puck's Issues

More efficient diffing format for `puck_liveview`

Currently we send each instruction as a full JSON blob – this unnecessarily increases the amount of data we need to transfer. We might want to go for a more Liveview-esque system (they send the data in two parts "static" and "dynamic", updating as needed), or design a custom format that is more efficient.

Asides from this, we might want to batch multiple diffs together, sending them in a single WebSocket frame (because each new frame incurs some extra overhead).

Testing client

It would be great to have a system for testing applications.

To start with we should be able to send requests and check their responses.

It's also worth thinking about adding a system for testing more complex applications (i.e. that things happen correctly when there's communication between request handlers, rather than each response being only a function of the request).

Form parser

We should ideally have a form parser, for parsing HTTP forms.

Initially just plain forms should work, but multipart forms would also be nice.

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.