¿Qué tecnología se utiliza para crear HotPads.com?

Los productos que componen la pila tecnológica de HotPad incluyen: Amazon (EC2, Route 53), Apteligent, DigiCert, Facebook Comments, Google Cloud (Messaging, Maps), Gravatar, HTML5, New Relic, WordPress.

Aquí hay una descripción rápida de algunos productos de software interesantes que HotPads está utilizando internamente:

  • Atención al cliente : SurveyMonkey
  • Marketing : Amazon SES, BlueCava, Google Tag Manager, SendGrid
  • Producto y diseño : Adobe Typekit
  • Analytics : Google Analytics
  • Productividad : G Suite

Para obtener una lista completa del software utilizado, consulte la pila tecnológica completa de HotPads en Siftery.

(Descargo de responsabilidad: Siftery recopila los datos anteriores y, a menudo, los proveedores o empleados de HotPads los verifican).

Creo que puede querer decir http://hotpads.com. Si esto es correcto, la forma más sencilla de ver cómo se carga un sitio sería abrir su herramienta de inspección en Chrome, se llama Dev Tools y ver qué archivos Java se cargan en la página. . También hay algunas grandes extensiones de Chrome, una llamada http://BuiltWith.com que perfilará la página en función de lo que se carga. De un vistazo rápido, parece que está utilizando un backend de Java (J2EE y Apache) para servir los datos (listados) en la parte frontal del sitio. La forma en que se encuentran los resultados puede ser una variedad de métodos, pero por lo general, sitios como este utilizarán algún tipo de índice que almacena en caché su base de datos para buscar resultados rápidamente. A partir de ahí, el front end parece estar usando Foundation como un marco CSS, mapas de Google para el mapa gigante y jQuery y Javascript (usando una serie de bibliotecas como ayudantes) para colocar los datos en la página.

Soy desarrollador front-end en HotPads.

Como se menciona en otras respuestas, nuestra interfaz de mapa de búsqueda funciona con Google Maps. Tenemos un tema personalizado y marcadores personalizados para mostrar cada listado. Sin embargo, la tecnología llega mucho más allá de la interfaz de usuario front-end. Hacemos un par de mejoras para aumentar el rendimiento.

Procesamiento del lado del servidor : similar a Google Maps, utilizamos un sistema basado en quad para indexar nuestros listados. Nuestros servidores de fondo ejecutan Java Tomcat. Usando un índice invertido personalizado muy eficiente, podemos filtrar listados por área, precio, camas, palabras clave, etc. Los resultados de la búsqueda en el mapa se devuelven con solo los detalles necesarios para mostrar una vista previa en el mapa. Una vez que haga clic, haremos otra llamada para cargar los detalles del listado. Estas mejoras en el back-end aceleran nuestras llamadas api.

Almacenamiento en caché del lado del cliente : si va a otros sitios de búsqueda basados ​​en mapas, lo más probable es que vea un cargador giratorio en cada movimiento del mapa. Esos sitios están haciendo llamadas del lado del cliente a su API. Mientras espera la respuesta, el usuario ve el diálogo de carga. En HotPads, almacenamos en caché los listados del cliente. Los listados de cualquier área que ya haya visto se cargarán casi instantáneamente. La llamada a la API todavía se realiza en segundo plano y los nuevos listados complementarán lo que ya ve en el mapa.
Aunque simple de decir, el almacenamiento en caché del lado del cliente es bastante complicado. Requiere lógica duplicada en el cliente. El cliente debe actuar exactamente como el servidor: mostrar listados dentro del cuadro delimitador con mascotas, menos de $ 2,000 y cualquier otro filtro, a un nivel de zoom particular. Tampoco puede olvidarse de implementar su filtrado de prioridad o agrupamiento en función de los niveles de zoom.

Optimizaciones de la interfaz de usuario : en el escritorio, cada vez que hace clic en una lista, llamamos a la API de detalles de la lista. Una vez cargado, mostramos ese listado. El usuario espera en esta llamada de API y, como resultado, ve un control de carga. En dispositivos móviles, sin embargo, optimizamos el flujo de la interfaz de usuario. Cuando el usuario hace clic en una lista, hacemos la misma llamada a la API para los detalles de la lista. Sin embargo, para el usuario simplemente mostramos una tarjeta de vista previa, que consiste en información ya disponible de la llamada API general de búsqueda de mapas. Una vez que el usuario hace clic en la tarjeta de vista previa del listado para obtener más información, mostramos la vista de detalles del listado. Aunque hay dos pasos separados, esta interfaz de usuario proporciona una experiencia más ágil para nuestro usuario.

Por otro lado, ahora estamos trabajando en reescribir nuestro sitio usando React and Flux. Estamos realmente entusiasmados con esta nueva arquitectura. No solo proporciona mejoras de rendimiento, ¿alguien dijo isomorfo? Sí, es increíble, también nos permitirá crear más funciones en menos tiempo. Acabamos de lanzar nuestra página de inicio Node / React / Flux, desde la cual hemos visto una caída del 10% (mejora) en la tasa de rebote. Pronto publicaremos algunas publicaciones de blog sobre el tema. (Me aseguraré de volver y actualizar esta publicación).

Vaya a Chrome, cargue la página, seleccione Ver -> Desarrollador -> Herramientas de desarrollador, hurgue. La pestaña “Fuente” será útil.

Un sistema típico como este incorpora muchos componentes diferentes y, en muchos casos, los que admira están disponibles para su uso. (Solo verifique los derechos de autor).

Si realmente quisiste decir http://hotpad.com , entonces eso es ASP.NET. Si se trata de hotpads, el marco front-end receptivo más avanzado de ZURB en el front-end, Google Maps para el mapa.

hotPads es en realidad una propiedad de las compañías zillow
– Java EE (con JSP) en la parte posterior
– JavaScript en el frente.