Popularity
9.4
Stable
Activity
0.0
Stable
195
9
7
Programming language: Crystal
Tags:
Misc
hoop alternatives and similar shards
Based on the "Misc" category.
Alternatively, view hoop alternatives based on common mentions on social networks and blogs.
-
sentry
Build/Runs your crystal application, watches files, and rebuilds/restarts app on file changes -
wikicr
Wiki in crystal, using Markdown and Git, inspired by dokuwiki. Last features to build are pretty hard, if you have some time to help... :) -
burocracia.cr
👔 Zero-dependency Crystal shard to validate, generate and format Brazilian burocracias (CPF, CNPJ, CEP) -
defined
This shard provides facilities for checking whether a constant exists at compile time, and for a variety of different conditional compilation options. Code can be conditionally compiled based on the existence of a constant, version number constraints, or whether an environment variable is set truthy or not.
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
Promo
coderabbit.ai
Do you think we are missing an alternative of hoop or a related project?
README
hoop
How to try ?
git clone [email protected]:0x73/hoop.git
shards install
crystal run example/webview_example.cr
Bundled Application
cd example/bundled_application && sh build.sh && open Hoop.app
Basic example
# app.cr
require "src/hoop"
include Hoop
NSAutoreleasePool.new
NSApp.activation_policy = LibAppKit::NSApplicationActivationPolicy::Regular
appName = "Hello, World !".to_objc
window = NSWindow.new(NSRect.new(0, 0, 700, 700).to_objc, LibAppKit::NSWindowMask::Titled, LibAppKit::NSBackingStoreType::Buffered, false)
window.set_background_color = NSColor.white_color.to_objc
window.cascade_top_left_from_point NSPoint.new(20, 20).to_objc
window.title = appName
window.make_key_and_order_front nil.to_objc
b = NSButton.new(NSRect.new(50, 50, 600, 100).to_objc)
b.set_title = "MAKE REQUEST"
class Foo < NSObject
export_class
def bar
url = NSURL.url_with_string "https://jsonplaceholder.typicode.com/posts/2"
req = NSURLRequest.request_with_url url.to_objc
res = NSURLResponse.new
data = NSURLConnection.send_synchronous_request req.to_objc, res.to_objc, nil.to_objc
ns_log data
result = NSJSONSerialization.json_object_with_data data.to_objc, LibCF::NSJSONReadingOptions::KNilOptions, nil.to_objc
ns_log result
userId = result.object_for_key("userId")
id = result.object_for_key("id")
title = result.object_for_key("title")
body = result.object_for_key("body")
ns_log "#{userId.as(NSNumber).intValue}"
ns_log "#{id.as(NSNumber).intValue}"
ns_log "#{title.as(NSString)}"
ns_log "#{body}"
alert = NSAlert.new
alert.set_message_text = "User Id: #{userId.as(NSNumber).intValue} - Id: #{id.as(NSNumber).intValue} - Title: #{title} - Body: #{body}"
alert.run_modal
end
export "bar"
end
b.target = Foo.new.to_objc
b.action = "bar"
window.content_view << b.to_objc
ns_log "app launched"
NSApp.activate_ignoring_other_apps = true
NSApp.run
$ crystal app.cr
Contributing
- Fork it ( https://github.com/hoopcr/hoop/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Authors
- Sedat G. Çiftçi @0x73
- Serdar Doğruyol @sdogruyol
Thanks
Thanks to Manas for their awesome work on Crocoa.