iOS

iOS + Algolia InstantSearch

Build search experiences with UI components and libraries.

Sign up
What is Algolia

What is Algolia

Algolia empowers modern developers to build world class search and discovery experiences without any DevOps.
Libraries with every major language and framework make it easy to enrich your users' experiences. 

ios InstantSearch

Add InstantSearch to iOS applications

iOS InstantSearch UI library is pre-built, customizable and flexible UI widgets to create your own search experiences -  explore the showcase. It provides out of box components that work together like search boxlist of resultsfiltering  & sorting interfaces, hierarchical menufederated searchsuggestions and highlighting. It is built on top of the Swift API client, production-ready and maintained by Algolia.

Features

  • Provides pre-built UI components following best practice principles for Mobile for iOS that remain independent from external frameworks

  • Integrate into your existing UI or app, or use InstantSearch templates

  • Comes with a default CSS theme, completely customizable

  • Manages all business logic for search requests, responses, and states

  • Progressive customization of components (use, extend, or customize)

Version

  • Compatible with all current versions of the underlying iOS library

  • Code is entirely open source and available on GitHub

  • Bootstrap your application, with create-instantsearch-app, NPM, ...

Related Integrations

Get started

  • Search (get a free account here)
    1
    struct ContentView: View {
    2
    3
        @ObservedObject var queryInputController: QueryInputObservableController
    4
        @ObservedObject var hitsController: HitsObservableController<StockItem>
    5
    6
        @State private var isEditing = false
    7
    8
        var body: some View {
    9
            VStack(spacing: 7) {
    10
                SearchBar(text: $queryInputController.query,
    11
                        isEditing: $isEditing,
    12
                        onSubmit: queryInputController.submit)
    13
                HitsList(hitsController) { hit, _ in
    14
                    VStack(alignment: .leading, spacing: 10) {
    15
                        Text(hit?.name ?? "")
    16
                        .padding(.all, 10)
    17
                        Divider()
    18
                    }
    19
                }
    20
            }
    21
        }
    22
    }
Get started for free
Explore developer docs