Today, we are excited to launch Angular InstantSearch — our newest library for easily creating search UIs in Angular applications.
Our mission at Algolia is to make sure any website or application has the best search experience. But search is its own domain of expertise, with specifics concepts, specialized coding skills and UX/UI best practices. This knowledge is hard to gain and as search is only one part of a project, that’s why we want to make sure any developer can easily create a search UI even when the rest of the search puzzle is solved by someone else.
Frameworks and search UI
But soon it became clear that we should go a step further if we wanted to provide the best developer experience. When using a specific web framework, a developer expects a certain kind of an API that we can only provide with dedicated InstantSearch versions. That’s why in 2016 we started releasing other “flavors” of InstantSearch like React InstantSearch and Vue InstantSearch.
After several requests from our users, we thought that Angular developers deserved a dedicated InstantSearch library. This InstantSearch flavor, like all our products, has been built in collaboration with our users. We contacted all our current and potential users interested in Algolia + Angular and offered them to join a private chat where they can continually give us feedback on the library. Based on this, we built a first beta; today, Angular InstantSearch is already used in production with great success.
Let’s look at some of the main features of the library.
Built for Angular 4 and 5
Angular InstantSearch is compatible with Angular 4 and 5 which means that, even if you are still on Angular 4, you can use it and be sure it will work when you upgrade to Angular 5. We are not compatible with Angular 1 and 2 because the changes between Angular 2 and Angular 4 or 5 were too broad. We also thought it was better to provide great features (like server side rendering) to the latest instead of being blocked by older version incompatibility.
20 ready-to-use widgets
From a good search box to a proper pagination system, we got you covered. This release includes all the widgets you need to build a complete search UI. The widgets can be completely customized, from the DOM they generate to their style and behavior.
<Declarative /> API
With Angular InstantSearch, widgets can be used easily with Angular directives. It’s just a matter of writing some HTML-like code to obtain a working search:
All the options are attributes to apply on the widgets directives. Building a search UI can now be achieved in a few minutes while still remaining highly customizable.
While we identified the most common use cases and best practices when designing InstantSearch widgets, some needs just can’t be achieved with the sole use of options. That’s OK.
Angular InstantSearch provides an API letting you choose the rendering you want without having to rewrite all the search business logic code. For example, transforming the menu widget that by default renders as a list into a dropdown menu becomes simple.
First-class SPA support
Single page applications are able to deliver performant and dynamic experiences to their users by loading and displaying only relevant elements of the UI based on user needs and actions.
With Angular InstantSearch, widgets are nothing more than regular DOM elements. They can be dynamically added or removed from the page. For example, you could decide to display only certain type of filters depending of the current query.
Server-side rendering, of course
Angular 5 comes with nice utilities that ease the creation of server-side rendered applications.
Creating a server-side rendered app is a must-have to improve SEO score on search engines by facilitating web crawlers, especially if you’re running an e-commerce business. It’s also a good way to speed up the first page display for users.
That’s why we developed Angular InstantSearch with service-side rendering available from day one.
Try it out
This is the first release of Angular InstantSearch, based on your feedback we will enrich it in the coming weeks and months.
You can also comment on Product Hunt and Hacker News.
This release would not have been possible without some good team work:
- Maxime Janton, our Angular champion, coded 90% of Angular InstantSearch
- Marie Thuret, our product manager, ensured that the release is on time and meets our InstantSearch feature requirements
- Matthieu Blandineau, our product marketing manager, made sure we reach every possible user with the news of the release
- The whole InstantSearch team was here to support Maxime with code and discussions
- Sébastien Navizet, Alexandra Prokhorova and Tiphaine Gillet designed the Angular InstantSearch logo and website and made the illustrations on this blog post and Product Hunt
- Lucas Bonomi took ^ that design and transformed it to HTML and CSS compatible with desktop and mobile
- Ivana Ivanovic helped us write this blog post
Wanna be a part of our next release? We’re hiring!