Angular @ webiks
D3 @ webiks
Great visualizations are eye-openers. Bad visualizations are ... just bad (3D pie-charts, anyone?). In many of webiks's applications, users interact with data in order to get valuable insights. Allowing full access to the DOM, being data agnostic and framework agnostic - D3 places very few limits on the types of visualization that can be created - making it a great and usefull tool in our technological kit.
Cesium @ webiks
Geo-tagged and geo-referenced data is everywhere. User/venue check-ins, GPS marked images and videos, manned and unmanned vehicles telemetry, election polls, etc. - are all collected and stored endlessly. Mastering the (not so easy to master) Cesium viewer, allows us at webiks to provide our customers with web applications that include a complete, photo-realistic, geo-spatial analysis experience.
Elasticsearch is an open source distributed, scalable, real-time search and analytics engine. Accompanied by Kibana, its analytics and visualization platform, and Logstash, its data collection engine, ELK forms a power, real-time, big-data oriented, NoSQL environment for data exploitation.
Elastic @ webiks
Big data brings big headaches. Storing data becomes easier, but exploiting it and gaining actionable insights out of it becomes harder and harder. Webiks's typical customer experiences the rapidly changing nature of the digital era - data sources and structures, business and operational questions, research and analysis methodologies - all change. Rapidly. Our typical customer is no longer satisfied with querying her data (i.e., asking well-known and well-structured questions). In order to keep up with the digital era's pace, she has to be able to explore her data (i.e. understanding what the data can tell her beyond the formal modeling or hypothesis testing). Here comes Elastic. Data aggregations, power textual search, cross-filters, results ranking, geo-hash, beautiful and useful dashboards - all present a unique data exploration user experience. The exploratory stage (usually the first stage of an analysis task) in some of the more complex applications we have developed at webiks is mostly based on the ELK stack.
Node.js @ webiks
Redux, NGrx & Angular-Redux
Redux @ webiks
As an application grows, so it's state management complexity. Redux is a great solution for developing large scale apps in a dynamic world. When developing such large scale projects, mastering Redux based libraries is essential. As Angular is our leading framework, libraries as NGrx and Angular-Redux become useful tools in our toolkit as well, allowing us to integrate Redux in more than one way, balancing performance, modularity and code simplicity.
GraphQL is a query language for your API developed by Facebook, and a server-side runtime for executing queries by using a type system you define for your data. GraphQL isn't tied to any specific database or storage engine and is instead backed by your existing code and data. It provides an alternative to REST and ad-hoc webservice architectures. It allows clients to define the structure of the data required, and exactly the same structure of the data is returned from the server. It is a strongly typed runtime which allows clients to dictate what data is needed. This avoids both the problems of over-fetching as well as under-fetching of data.
GraphQL @ webiks
As we develop our web projects in ever – changing environments, GraphQL can do wonders when planning and executing modern web application development. As back and front ends are sometimes developed on the same time, allowing the client code determine what it actually needs enhance design and development time and level. In addition, it provides robust infrastructure which supports dynamic data fetch on a single request, which allows us at webiks to develop applications with efficient and fast API.
WebSocket & Socket.IO
Socket.IO @ webiks
Client-server data synchronization can be a pain, regardless of which kind of app you're developing. Socket i/o provides us with a set of tools allowing us to do client -server transfers efficiently and gracefully, get live updates from the server with minimal network traffic, and write better and smarter code for data management in any type of network.