> For the complete documentation index, see [llms.txt](https://elguerre.gitbook.io/de0an/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://elguerre.gitbook.io/de0an/capitulo-1-antes-de-comenzar.-la-puesta-a-punto/los-requerimientos.md).

# Los requerimientos

Para poder desarrollar para Windows y/o Windows Mobile, se recomienda disponer de algunos requisitos mínimos:

* **4Gb de RAM.** 8Gb para poder utilizar emuladores de gran capacidad.
* Procesador con tecnología *SLAT (Second Level Address Translation)* para poder habilitar ***Hyper-V***.
* **Windows 10 Profesional** o superior con la versión de **64bits**.

¿Hyper-V? Sí, es la tecnología de virtualización para Windows 8, 8.1, 10 o superior y es un requisito del SDK. Aunque no es obligatorio, sí muy recomendable para desarrollar la aplicación.

Cada vez son más los PC adecuados al uso de Hyper-V, sin embargo, existen otros que tendremos que configurar previamente. La mayoría de los procesadores i3/i5/i7 disponen de *SLAT* y permiten poder habilitarlo. Para lo que habrá que seguir algunos pasos:

1. Activar en la BIOS las opciones indicadas en la siguiente tabla:

**Tabla 1.- Opciones de configuración de la BIOS para habilitar Hyper-V**

| Característica                          | AMD                                                                      | Intel                                                    |
| --------------------------------------- | ------------------------------------------------------------------------ | -------------------------------------------------------- |
| SLAT (Second Level Address Translation) | <p>NP (Nested Page Tables)</p><p>RVI (Rapid Virtualization Indexing)</p> | EPT (Extended Page Tables)                               |
| Hardware-assisted virtualization        | SVM (AMD support for hardware-assisted virtualization)                   | VMX (Intel support for hardware-assisted virtualization) |
| Data Execution Prevention (DEP)         | NX (No Execute)                                                          | XD (Execute Disable)                                     |

2. Desactivar estas otras opciones siempre que estén disponibles en la BIOS:
   * Intel VT-d
   * Trusted Execution
3. Activar Hyper-V en Windows:
   * Desde: “Panel de Control – Programas – Activar o desactivar características de Windows” (*Turn Windows features on or off*), activar las siguientes:

![](https://240651724-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfrvHBNivOTy0fVKROgzo%2Fuploads%2Fgit-blob-ff05b77361e2a0ebf74f7bdeadc1101ae15610b2%2Fimage1.png?alt=media)

**Figura 01.- Características para habilitar Hyper-V en Windows**

Aún no hemos visto cómo iniciar el emulador, sin embargo, recordemos que, llegado el momento, si al iniciarlo obtenemos el siguiente error, significará que Hyper-V no ha sido activado aún. Habrá que activarlo, según los pasos anteriores.

![](https://240651724-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfrvHBNivOTy0fVKROgzo%2Fuploads%2Fgit-blob-2045002854d917a74f107bc8d929e4112d9a43a7%2Fimage2.png?alt=media)

**Figura 02.- Error al iniciar el emulador de Windows Mobile**

Los emuladores son máquinas virtuales (*.vhd*) y de ahí, la necesidad de Hyper-V y la recomendación de los 8Gb que van a permitirnos poder ejecutar emuladores con 2Gb o más.

{% hint style="info" %}
**Nota**: ¿Qué pasa si no tengo Hyper-V? Siempre podemos depurar y verificar la aplicación directamente en el teléfono. Sin embargo, el emulador facilitará y agilizará el desarrollo sin necesidad de un dispositivo físico. Veremos en detalle el emulador cuando comencemos el desarrollo y nuestras primeras pruebas en el capítulo 4.
{% endhint %}

Existen otros programas de virtualización tales como VMware o VirtualBox, pero nos centraremos en Hyper-V por ser el producto nativo de Windows.
