--- title: Choose the right approach slug: n3tg6058 canonical_url: https://docs.coveo.com/en/n3tg6058/ collection: coveo-for-sitecore-v5 source_format: adoc --- # Choose the right approach Coveo provides a number of frameworks and REST APIs to build a [search interface](https://docs.coveo.com/en/2741/). Which framework and/or REST API is the best for you depends on your business needs, desired performance, complexity, etc. ## Which is the best approach? The two graphics below show that [Atomic](#atomic-library-recommended) is the best choice if performance, development speed, and customization are equally important for you. If you want to quickly create a simple Atomic search interface, especially for test or demo purposes, the [**Simple builder**](#simple-builder-recommended) is an ideal codeless alternative. Hosted search pages created with the search interface builder can be a starting point for developing a more complex Atomic implementation. For extensive user interface and user experience customization capabilities, the [Headless library](#headless-library) is the optimal choice. !["Diagram showing relations between development time and performance for the search interface builder](build-a-search-ui/ui-frameworks-ux-customization.png) !["Diagram showing relations between development time and UI/UX customization for the Atomic](build-a-search-ui/ui-frameworks-development-time.png) This article focuses on the recommended approaches for Sitecore users. For a more general overview of all available approaches, see [Build a search UI](https://docs.coveo.com/en/3366/). ## Coveo Hive and the JavaScript Search Framework > **Legacy features** > > Coveo Hive renderings and the Coveo JavaScript Search Framework are in maintenance mode and shouldn't be used for new implementations. > > For new interfaces, use one of the modern, lightweight approaches listed below. The [Coveo for Sitecore package](https://docs.coveo.com/en/2123#coveo-for-sitecore-package) includes the Coveo Hive search interface renderings. These renderings are built using the [Coveo JavaScript Search Framework](https://docs.coveo.com/en/375/). ## Simple builder (recommended) You can access the **Simple builder** from the [**Search Pages**](https://platform.cloud.coveo.com/admin/#/orgid/search/search-pages/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/search/search-pages/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/search/search-pages/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/search/search-pages/)) page in the [Coveo Administration Console](https://docs.coveo.com/en/183/). It lets you create simple [Atomic](https://docs.coveo.com/en/atomic/latest/) [hosted search pages](https://docs.coveo.com/en/2866/) in a few minutes without writing any code. Hosted search pages are ideal for test or demo purposes. You can share a link to your search page with anyone, even people who don't have access to the Coveo Administration Console. You can easily consume hosted search pages [using the `atomic-hosted-ui` component](https://docs.coveo.com/en/atomic/latest/usage/manage-project/use-hosted-page/). To create a custom search interface, you should choose the Atomic library or another library or framework. You can use an Atomic hosted search page created with the builder and customize it further, [using the Coveo CLI](https://docs.coveo.com/en/cli/). |=== |Pros |Cons |Requires no programming skills. |Limited UI/UX customization. |Lets you create a basic search interface within minutes. | |=== ## Atomic library (recommended) [Atomic](https://docs.coveo.com/en/atomic/latest/) is a collection of pre-built UI components meant to quickly create versatile search interfaces. You can theme and customize the Atomic components to suit your needs. Under the hood, Atomic relies on the Coveo Headless library to interface with Coveo and handle the search application state. Atomic supports a variety of search page development and deployment flows. For example, you can: . [Download a hosted search page](https://docs.coveo.com/en/atomic/latest/usage/manage-project/cli-download/) as a starting point. . Customize the search page locally and [deploy it to your Coveo organization](https://docs.coveo.com/en/atomic/latest/usage/manage-project/cli-deploy/). . Consume your hosted search page [using the `atomic-hosted-ui` component](https://docs.coveo.com/en/atomic/latest/usage/manage-project/use-hosted-page/). |=== |Pros |Cons |Requires minimal programming skills. |Coupling between the UI and business logic. |Faster to build than the JavaScript Search Framework. | |Both browser and mobile compatible. | |Lightweight and higher performance than the JavaScript Search Framework. | |Extendable through custom components. | |=== ### Atomic library resources * Coveo provides code samples in [React](https://github.com/coveo/ui-kit/tree/main/packages/atomic-react), [Angular](https://github.com/coveo/ui-kit/tree/main/samples/atomic/search-commerce-angular), [Next.js](https://github.com/coveo/ui-kit/tree/master/packages/samples/atomic-next#readme), and [Vue.js](https://github.com/coveo/ui-kit/tree/master/packages/samples/vuejs/README.md) in its [Coveo ui-kit repository](https://github.com/coveo/ui-kit). * For Atomic library reference documentation, see [Use the Atomic library](https://docs.coveo.com/en/atomic/latest/). ## Headless library The Headless library is a Redux-based toolset for developing your own search UI component libraries. It provides the underlying functionality of the Atomic library or of the JavaScript Search Framework without tying that functionality to a specific UI implementation. See [Use the Coveo Headless library](https://docs.coveo.com/en/headless/latest/) for details. |=== |Pros |Cons |Usable in any environment that can run JavaScript. |Requires advanced programming skills. |Extendable through custom middlewares and reducers. | |=== ## What's next? When you have decided on the approach to use, you're ready to [implement your search interface](https://docs.coveo.com/en/n3u80165/).