TL;DR — We have done extensive changes in Graphback over the last 3 weeks focused on refactoring to support custom plugins
You can try it now at github.com/aerogear/graphback
The main purpose of Graphback is to provide an autogenerated GraphQL based CRUD API for developers and their various use cases. Graphback differs from other GraphQL based solutions by utilizing code generation and application templates as a quick way to get started. This gives developers the ultimate flexibility that was recognized by our community. The CRUD API can be added to existing projects or function as standalone service.
When working with the community we identified multiple ways people want to add a CRUD API to their…
Performance problems are often one of the reasons why developers avoid adopting GraphQL API. First Google search results that will appear when searching for “GraphQL performance” will mostly cover the disadvantages of this technology. Are the GraphQL API’s less performant than their RESTful counterparts? Is performance really a big problem of the GraphQL APIs or it is more a myth build by early adopters?
In the following blog post, I’m going to cover some performance facts and myths around GraphQL along with solutions that developers can employ for both GraphQL client and server.
NOTE: in this blog post we are going to focus on the Node.js ecosystem. Described problems can be mapped to any language and reference implementation. …
In this short post, we will summarize the recent state of offline support in the Apollo community.
Offline support allows the application to operate when the device running it lost connection to the server. Offline solutions are characterized by the ability to:
Apollo-link-offline is basing on the Apollo-Retry link. The offline link will try to reattempt requests that failed to reach the server. …
With so many different ways to query data developers can often write suboptimal queries or rely on defaults that may give different results than expected. Apollo GraphQL documentation provides very comprehensive coverage for network and cache updates, however, they are documented in many places. …
GraphQL was created almost 7 years ago at Facebook to resolve specific problems for the Facebook mobile platform. As Query Language, GraphQL offers transport and data exchange layer between server and client, leaving many implementation details to developers. When comparing with REST, GraphQL technology has a steep learning curve and many pitfalls waiting for beginner developers looking to embrace it.
Over the years the ecosystem flourished and evolved towards more production-ready use cases. GraphQL stack became more mature and more developers started to create their applications using this technology.
GraphQL evolved thanks to the large community and many supporting libraries. Choosing the right approach in the ocean of the options can be not only overwhelming but also lead to building solutions that will be suboptimal to our domain and our business needs. …
Part 1 of tutorial.
In second part of our tutorial we going to focus on adding opponents - the other cars that we need to avoid. Cars will appear first on the top of the screen and move towards player with constant speed that can be adjusted in the code.
We first need to start with adding a forever loop.
In the loop we going to check for situations where our car and others meet at the line position
5 which is the bottom of the micro:bit screen.
Our first check will check if
emptySlot position is different that actual player
position. If not this will mean that game is finished and player will see X on the screen. …
Progressive Web Apps (PWA) are the way to provide mobile users the best experience in reliability, speed and engagement. PWA are a generic concept that can be achieved by native API for various capabilities in modern browsers and adopting best patterns for achieving performance and flexibility in application distribution. PWA apps often behave and look like other native applications. Applications can be added to the mobile home screen and can work offline thanks to the concept of service workers and manifests.
GraphQL is an specification for an Query language and API engine with implementations in many different languages. Specification clearly abstracts from the underlying database solutions, leaving developers to work with any source of the data including REST API or different databases. In this blog post we are going to draft options for adopting GraphQL API in new or existing projects — most particularly focusing on the database layer.
Developers can adopt GraphQL API in many different ways:
1) API gateway for microservices exposing GraphQL or REST API
This case is really well documented by Apollo. Adopters can benefit from existing solutions like DataSources that will help them to wrap existing REST API. Additionally Apollo supports Schema Stitching that allows to join multiple GraphQL schemas into single API. Thanks to DataSources and Schema Stitching developers can build GraphQL based microservices architecture where underlying servers can expose. If you are interested in this use case please follow official Apollo blog post about this topic. …
Microbit is an hardware platform that can be used to program and build real life hardware projects. Micro:bit has many hardware sensors, display and buttons which are good base for simple projects without connecting any external elements.
The best way to start with Micro:bit (without even buying board) is to visit MakeCode IDE website. MakeCode IDE has many sample projects and demos that can be used to get yourself familiar with the Micro:bit.
In first part of our Micro:bit tutorial we going to focus on building a car racing game. …
Raincatcher is solution that provides reusable plugins to build mobile and web applications. Target of Raincatcher is to provide default implementations for various functionalities like Maps with GPS tracking, Photo collections with storage, tasks managment and many more.
Each of this areas are implemented as separate plugin (npm module) that can be customized by application developers by extending and modifying module API. All modules are organized and used as part of demo application which provide reference how to use them as part of external system.
Modules can provide various types of implementations: