Popularity
5.3
Growing
Activity
1.6
-
26
2
1

Programming language: Crystal
License: MIT License
Tags: Framework Components    
Latest version: v0.2.0

phoenix.cr alternatives and similar shards

Based on the "Framework Components" category.
Alternatively, view phoenix.cr alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of phoenix.cr or a related project?

Add another 'Framework Components' Shard

README

phoenix.cr Phoenix Channels client for Crystal API Docs

Installation

Add this to your application's shard.yml:

dependencies:
  phoenix:
    github: dtcristo/phoenix.cr

Usage

The example below shows basic usage; connecting to a socket, joining a channel, binding to an event and sending messages.

require "phoenix"

# Create socket and connect to it
socket = Phoenix::Socket.new("http://example.com/socket")
socket.connect

# Initiate a channel, bind to an event and join
channel = socket.channel("topic:subtopic")
channel.on "event" do |payload|
  # do stuff with payload
end
channel.join

# Start a loop and send a message down the channel every second
loop do
  sleep 1
  channel.push("new_msg", JSON::Any.new({"text" => JSON::Any.new("Hello world!")}))
end

The Phoenix Channels docs provide details on implementing sockets and channels on the server side. The phoenix.cr docs detail the client side API available for use in your Crystal application.

Chat example

examples/chat.cr demonstates an example chat client.

Start the phoenix-chat server example:

git clone https://github.com/dtcristo/phoenix-chat
cd phoenix-chat
mix deps.get
mix phx.server

Run the chat client:

crystal examples/chat.cr

Follow the prompts to enter your name and chat away.

Todo

  • Improve test coverage
  • Implement Presence
  • Build larger example application

Contributors

  • dtcristo David Cristofaro - creator, maintainer

Credits