hotchocolate
lighthouse
Our great sponsors
hotchocolate | lighthouse | |
---|---|---|
- | 15 | |
4,140 | 3,317 | |
- | 0.6% | |
10.0 | 9.0 | |
over 1 year ago | 3 days ago | |
C# | PHP | |
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.
hotchocolate
We haven't tracked posts mentioning hotchocolate yet.
Tracking mentions began in Dec 2020.
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.
What are some alternatives?
GraphQL for .NET - GraphQL for .NET
graphql-laravel - Laravel wrapper for Facebook's GraphQL
AutoMapper - A convention-based object-object mapper in .NET.
graphqlite - Use PHP Attributes/Annotations to declare your GraphQL API
FluentValidation - A popular .NET validation library for building strongly-typed validation rules.
Pusher - Ruby library for Pusher Channels HTTP API
IdentityServer - The most flexible and standards-compliant OpenID Connect and OAuth 2.x framework for ASP.NET Core
ergodnc
EntityGraphQL - A GraphQL library for .NET
Strapi - 🚀 Strapi is the leading open-source headless CMS. It’s 100% JavaScript/TypeScript, fully customizable and developer-first.
trouble-training - FullStack DDD/CQRS with GraphQL workshop including distributed tracing and monitoring. This shows the configuration from React frontend to .Net backend.
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.