lighthouse
Pusher
Our great sponsors
lighthouse | Pusher | |
---|---|---|
15 | 13 | |
3,317 | 663 | |
0.6% | 0.2% | |
9.0 | 0.0 | |
9 days ago | 10 months ago | |
PHP | Ruby | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
lighthouse
-
Go with PHP
Sure.
1. SQLC is little more than a template generator for Prepared Statements wrapped in a class. [https://www.php.net/manual/en/mysqli.quickstart.prepared-sta...]. It's not exactly a mind bending or time saving tool.
2. There are multiple OpenAPI generators for PHP, in fact, they existed from nearly the start of the OpenAPI protocol (formerly Swagger) when Go was barely a year old. Here's a current popular one: https://openapi-generator.tech/docs/generators/php/]
3. PHP also, (unsurprisingly given the origination point of the spec) has many GraphQL implementations that support any database driver over ODBC, key-value stores, or even flat files. Here's one that plugs into Laravel [https://lighthouse-php.com/]
4. PHP has many mature, modern embedded KV store options... but it's also had one in the standard lib since years before Go even existed, or the concept of KV stores was even popular. [https://www.php.net/manual/en/class.splobjectstorage.php].
On your non-numbered points...
Go and PHP are fairly similar in raw processing speed since the JIT was added to PHP. However raw number crunching is rarely realistic when most applications are going to be using databases, stores, etc. So why not look at a benchmark of popular frameworks in both languages - which shows, again that the two are fairly similar in performance. [https://www.techempower.com/benchmarks/#section=data-r21&l=z...]
PHP has also had types for about 4 years now. It's not statically typed, but that's a preference, not a pro/con situation.
Built-in formatting is also a preference, not a pro/con situation. Many developers strongly dislike languages like Go and Python for this.
PHP has had one of the most powerful and useful package management ecosystems in the entire open source world since composer mostly replaced PEAR nearly a decade ago. It also has mature and well loved testing tooling. Neither of which are built in, because why would you need to build in tools that the community already creates and maintains for free?
I don't know what "bugs" you faced in the PHP stdlib, but I will concede that it is painful to use. Most of the stdlib is little more than a wrapper around C functions of the same name, and they inherit the frustration of using those C functions.
Laravel does allow you to write things by hand. You can also just define them ahead of time and have the Migrations, Models, Controllers, Views, Transformers and more generated for you automatically. [https://blueprint.laravelshift.com/]
There you go, there's your links. But frankly, you didn't need them. There's little you mentioned that's unique to Go at all, you just named a bunch of things that have become popular tools for most modern languages still being actively developed. I'm not sure why you think any of these things are Go-specific - some of them are maintained by the Go core team, like other newer languages have started doing, but that's it.
- how to display constantly changing data from a database in real time
-
Question: Laravel with Lighthouse graphql: Problems with resolvers
I am starting a new Laravel project with Lighthouse and have been problems with resolving non root fields. According to the documentation here for each of the fields that have complex types, there should be a model and a query provided for the field. So in this example I have a Version object which has two subfields: appVersion and apiVersion. Here is what I have in my schema.graphql file: ``` type Query { version: Version }
-
Give me your honest opinion - REST or GraphQL?
Those are the two main differences between GQL and REST. I can't tell you if it is suitable for your project, but now I hope you can make an informed decision. Also, for the idea that "GraphQL feels more aligned with creating a backend in Node," that's just BS. GraphQL is not aligned with any particular language, and the official project page lists various implementations. For Laravel specifically, you may want to look at the Lighthouse project.
-
Is having multiple different API resources for the same model, each doing things slightly different, a bad practice or an indication of bad design?
It may be beyond the scope of what you’re willing to do at this point, but I would consider switching to a GraphQL API. Gives your frontend a lot of flexibility in what data is requested with a lot less code dedicated to resources and controllers. Check out the lighthouse-php package if you’re feeling a bit adventurous.
-
Creating a GraphQL Server With PHP
Lighthouse is a good option too: https://lighthouse-php.com/
-
Looking for a personal stack
For multi-user apps Laravel Sanctum, Lighthouse for Laravel are options worth considering, haven't them tested yet.
-
Get Started with GraphQL and Laravel
The most popular GraphQL libraries for Laravel are Rebing & Lighthouse, in our tutorial we will be using Rebing which we can install by running:
-
Which programming language, besides JS, has the best support/ecosystem for graphql?
if you have no problem with php, take a look at Laravel with this package
-
Laravel-powered API: how to fetch a resource and its nested data?
A third way you could take is GraphQL, which is designed for querying and selecting things at arbitrary depths. Lighthouse looks to be a very nice graphql server for Laravel, from what I've used of it anyway. Pull up a graphql tutorial (the one on graphql.org is pretty good) and give Lighthouse a spin.
Pusher
-
The top real-time notification services for building in-app notifications
Pusher Channels is a real-time notifications service that empowers developers to swiftly integrate real-time functionality, like live notifications and chat, into web and mobile apps using WebSockets. Pusher is known for reliability and scalability and is used by Buffer, GitHub, and Datadog.
-
Database Review: Top Five Missing Features from Database APIs
Pusher
-
How do you do WebSocket connections when you're doing SSR?
Typically, you don't do websockets. There are some great products out there that give you the same capabilities. I recently started working with Pusher for my Remix applications and am loving it!
-
Is a Multiplayer Game Possible with NextJS + Vercel?
According to Vercel's website SocketIO is NOT supported, however Pusher Channels is recommended in it's place. Not sure what it is, but it supposedly is supported by vercel and potentially can help.
-
7 Useful JavaScript Libraries To Build a Real-Time Web App
Pusher is a hosted service that makes it super-easy to add real-time data and functionality to web and mobile applications. It sits as a real-time layer between your servers and your clients. Pusher maintains persistent connections to the clients — over WebSocket if possible and falling back to HTTP-based connectivity — so that as soon as your servers have new data that they want to push to the clients they can do, instantly via Pusher.
-
Need help implementing google maps
Then watchPosition from @react-native-community/geolocation is definitely the way to go. Here's a link to the example in their repo. This will constantly update the position state variable, which you can then send to a realtime service which other users are subscribed to and consuming. (Depending on your implementation, could be a websocket or some pub/sub service... I've worked with Pusher Channels before for something similar.)
-
Best way to add chatting into my web app?
An easy way to start with is to use external Pusher channels service It requires 0 devops and everything works very well, for free at least at the beginning. However, like any external service, it can't scale without paying. "Pay as you grow".
-
Tools for real-time stock app
I see that NextJS now recommends a pub/sub approach Vercel Support Your client will need to subscribe to the events from a 3rd party service like Pusher Channels and the Pub should be handled by a serverless function
-
Centrifugo – scalable real-time messaging server. Handles WebSocket, EventSource, GRPC, HTTP-streaming and SockJS connections, manages channel subscriptions. Provides API to publish messages into channels. Integrates well with any stack.
Centrifugo is very similar to pusher.com Channels product (https://pusher.com/channels) – but self-hosted. Also – somewhat similar to socket.io - but not a library, so can work with any backend. Centrifugo is pretty unique in terms of available features sum – so can't say that there is a direct analogue I've heard about - sth from one product, sth from another, sth unique. And of course there are alternatives which can do what Centrifugo can't since the market of real-time servers is quite big.
- What is the best 3rd party chat service for web PHP integration?
What are some alternatives?
graphql-laravel - Laravel wrapper for Facebook's GraphQL
laravel-websockets - Websockets for Laravel. Done right.
graphqlite - Use PHP Attributes/Annotations to declare your GraphQL API
Socket.io - Realtime application framework (Node.JS server)
ergodnc
Centrifugo - Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
Strapi - 🚀 Strapi is the leading open-source headless CMS. It’s 100% JavaScript/TypeScript, fully customizable and developer-first.
twilio-ruby - A Ruby gem for communicating with the Twilio API and generating TwiML
Hot Chocolate - Welcome to the home of the Hot Chocolate GraphQL server for .NET, the Strawberry Shake GraphQL client for .NET and Banana Cake Pop the awesome Monaco based GraphQL IDE.
Restforce - A Ruby client for the Salesforce REST API.
Laravel - Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation for your next big idea — freeing you to create without sweating the small things.
Xeroizer - Xero accounting system API library.