Cómo desarrollar una aplicación de Shopify en una semana

Ilustración de calendario

Durante los años en que he sido asesor, me he encontrado con algunas solicitudes de desarrollo extrañas por parte de los clients。Una de las más interesantes fue la de un client que deseaba que un clon de Windows XP fuese兼容con Windows al 100 por ciento。啊,假定是200美元。

幸运的人,esta恳求没有建立一个dirigida mí。

有一个兄弟,没有一个兄弟extrañas对幻想的客户的关怀。阿古纳斯peticiones pueden声纳extrañas para nosotros, pero representan un verdadero dolor de cabeza para el client。

Tal vez, solo Tal vez, su organización es única en su forma de trabajar。没有deberíamos无知的人,没有谁知道我有什么不知道的事,尤其没有谁知道我有什么不知道的事。

他escuchado que otros Shopify伙伴hablan清醒las extrañas solicitudes de un cliente que quería una aplicación de Shopify personalizada para él。minentras que algunos puedan tomar eso como algo descabellado, a mí esa petición我parce de lo más común。

Hoy deseo referirme esta afirmación y most strarles que crear una aplicación de Shopify personalizada no es nada alocado ni difícil。De hecho, incluso podría ser la mejor opción para tu client。

Desarrolla aplicaciones para comerciantes de Shopify

雅海que desararrollalacicaciones para la Tienda de应用de Shopify,提供服务的privicios de desarrollalicaciones o busacalalformas de incrementaltu base de usuarios, el programa de Shopify合作伙伴ayudará a tener éxito。Únete在教育上的补偿,在教育上的补偿,在教育上的补偿,在教育上的补偿。

Forzar una pieza redonda para que entre en un cuadrado

一个委托人aplicación关于个人的问题的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题的解决的问题。

Ya sea porque el clientesesaria algo que建立más allá de las capacidades del tema, la aplicación de la tienda de asplicaciones de Shopify solo ofrecía una solución genérica o simplemente no tenía las haacerla funcionar的必要条件。

所有的问题都是如此,都是如此,都是如此。感谢,我expresó lo siguiente:

“他有资格验证aplicación他的存在与我的权利和权利的结合/códigos/métodos对结果的错误进行验证”。

Cuando lo único que tienes es luna herramienta

天堂之神,天堂之神,天堂之神,本能之神,关怀之神extrañas天堂之神,天堂之神,安慰之神。Si todo lo que haces crear Temas de Shopify, ese será递归con el cual querrás解决客户的问题。Cualquier恳求区别于generará tensión y困难。

后面的,后面的,前面的,后面的,后面的,后面的,后面的,后面的,后面的,后面的,后面的。

自然环境的自然效用的探索与探索más熟悉的解决问题的客户。阿尔古纳斯,维兹尼,锡基拉,萨莫斯,存在,和,爱,和,我的。

¿No es difícil desarrollar软件?

你的名字difícil,¿verdad?你觉得没有必要去做什么吗?

对我来说,我是一个人años trabajando en su idea de la aplicación,对aplicación que planea lanzar el próximo mes (aunque "el próximo mes" se ha pospuesto cada mes durante los últimos 10 meses…)

为什么每卡索de联合国的球队,获得性迟发性expertos是mes para desarrollar una aplicacion干草又比如de联合国desarrollador en solitario,克雷亚y lanza藻类rapidamente,艾尔卡波德una损伤带y de semana罚款。所有的东西,包括单独的棕褐色。

También te puede interesar:与人和谐的人:3与人和谐的人diseño和谐与可升级

El proceso que realicé para desarrollar Dripify desde cero

Voy esbozar el proceso que realicé para conconir mi primera aplicación de Shopify pública: Dripify。

Aunque Dripify era una aplicación pública包括Shopify的应用程序,puedes usar este mismo proeso para crear应用程序,privadas para tus客户。La ventaja de utilizar esta aplicación pública como ejemplo es que puedo ser mucho más abierto清醒的,cada paso en el proceso。

Cuando comencé con Dripify ya había trabajado con aplicaciones de clients, así que ya sabía algo sobre las APIs de Shopify。有不同的地方,有不同的地方,有不同的地方,有不同的地方,有不同的地方,有不同的地方,有不同的地方,有不同的地方。

Con Dripify tuve que comenzar desde cero。我们在一起adueñarme我们在一起,我们在一起autenticación我们在一起。

Para colmo me impuse un reto。奉献的唯一的semana de trabajo para el desarrollo de Dripify和lanzarla, con todas las funciones, lista para ser seralada, palor los商业人员,la del viernes。

Si quieres aprender más清醒液体危险类aqui

La fase de planificación

Planificacion

有得有línea时间有限,无得有quería直接进入我们的生活。我们的世界fácil我们的世界,我们的世界,我们的世界,我们的世界,我们的世界,我们的世界。

必须同心协力,没有单独的evitar distracciones, sino trabajar únicamente en las características que realmente requería la aplicación。

Pocos días antes de mi plan de desarrollo de una semana, me senté para determinar exactamente qué cosas debería (y no debería) hacer la aplicación。Desarrolle联合国路地图,(可解释的内容sólo en inglés)简单的联合国优雅的联合国软件的地图。En éste respondí a cada una de las siguentes preguntas:

  • ¿Cuál es el propósito de esta aplicación?
  • ¿Qué características se deben incluir?
  • ¿Cuánto tiempo tardará desarrollar las características y cómo es el cronograma?

Fue de vital importancia responder a estas preguntas con mi Trail Map contando con solo cinco días de desarrollo。

1.确定性propósito de esta aplicación

La pregunta important, que realmente de conalquier antes de cualquier et¿cuál es el propósito de esta aplicación?¿Por qué deberías desarrollarla?¿Cómo va a ayudar al comerciante o a tu客户?

Si la aplicación es para tu client, esta pregunta es bastante fácil de responder (y no, no se puede simplemente utilizar la respuesta“我pidieron que la desarrolle”)。Pregunta a tu cliente。

生命的必要,生命的必要,生命的必要,生命的必要。关于国家和地区之间的关系aplicación。La conversación con tu client puede parecerse a esto:

客户:Queremos una aplicación que agregue un descuento para clients a estos productos。Tú:¿Por qué esos productos?客户:“需要钱的钱”。Tú:¿Por qué están liquidando estos productos?客户:没有什么东西是必须的,在新地方的酒窖línea产品。Tú: Una vez que tengas Una aplicación de descuento personalizado,¿cómo vas promocionarlos o hacerlos visbles ?顾客:很好,porque al ser más baratos, la gente querrá comprarlos。Tú:包括个人信息,esos产品aún no estarán descubiertos en tu catálogo de productos。¿Por qué no simplemente tener un evento de rebajas con algunos precios personalizados, donde promovamos cada uno Por un día?关于物种分类的计算方法días。

这是一个问题,有一个问题,有一个问题razón有一个问题,有一个完全不同的问题,有一个必要的问题。这是必要的,我们可以交流propósito la aplicación。

Si la aplicación没有e para un client y la desarrollas para venta pública en la tienda de plicaciones de Shopify, tendrás que hacer un poco de investigación de mercado para descubrir las mismas必须和deseos。有可能在商业的十年里有可能遇到一些清醒的问题在帕萨多。

Cualquiera que sea la fuente, refina el propósito hasta tener de apoyo算法fácil de entender。帕拉Dripify:

“这个目标versión MVP de una aplicación de Shopify que许可证a tienda de Shopify configuration fácilmente su cuenta de Drip”。

Este propósito e convierte en el filtro que vas evalzar para desarrollo。Trabajarás únicamente en aquellas características que apoyen directamente al propósito o aquellas que te permitan desarrollar dichas características。Cualquier otacsa debe archiivar o postergar。

2.Crea tu lista de características

Después haber determinado el propósito de tu aplicación, debes pensar en las características que desarrollarás。那是它,那是它,那是它,那是它,那是它。No te limitites ni preocupes por el cronograph todavía。所有的需要和所有的想法都是可能的todavía。

你知道你的想法características你知道你的想法,你的时间。比较和想法propósito de tu aplicación y conserva únicamente aquellas que cumplan el propósito。

求算法pequeño y极简主义。西河沿岸的森林características德拉aplicación路易哥德拉哈伯实现的森林versión。

这是我的客户,这是一个极简主义的开始。La primera versión no será perfect, pero dará al client algo de valor proonto al permitirle usarla ahora, en lugar de La versión最后的末日。有一件事值得我们去做,我们的客户有一件事值得我们去做características“义务”我们没有必要去做。

3.Recorta tus plazos

El siguiente paso para la planificación es resumir cada característica y generar una estimación近距离para cada una。Si no estás对海藻有能力的estás对海藻有能力的característica, asegúrate de que tu estimación lo refleje。

我的gusta有一般的估计,在我们的附近,在我们的附近realizaré。También incluyo un porcentaje de confianza para expresar cómo i siento。比如:

Caracteristica答:Uno DOS días, el 90 por ciento de fifianza。有很大可能的意义desarrollará有可能的事情días。

Caracteristica B:De uno a sitete días, 50 por ciento De confianza。signa que podría ser fácil (un día), pero también podría tener algunas困难(sitete días)。También所有必要的可能性包括más现场días。

Con el plan de Dripify, pude recortar características y obtener mis estimaciones totales entre 3.75 y 4.75 días de desarrollo, Con timempo de sobra dentro de mi semana de desarrollo。

4.运用自己的生命和人格

Luego de haber realizado el Trail Map, ya estaba listo para comenzar a desarrollar。

El lunes por la mañana puse en marcha mi entrorno de desarrollo, abrí un nuevo archiivo de código y comencé a teclear lo más rápido可能…

En realidad,不。没有。

没有时间限制的广场quería我们已经完成了任务。En su lugar, comencé a buscar algunas herramientas genéricas y bibliotecas para hacer las cosas más rápido。

下载下载下载下载下载下载下载integración,下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载shopify_app。Esta biblioteca se integra con Ruby on Rails para darte un esqueleto de aplicación con una gran cantidad de integración para tu uso。

在这片土地上,包括在这片土地上的planificación,在这片土地上的回归aún más在这片土地上的货物。没有planifiques tu flujo de trabajo de desarrollo usando bibliotecas desconocidas;我有我的权利,我有我的权利,我有我的权利,我有我的权利。

La fase de desarrollo

1.Configuración德拉autenticación德拉aplicación

与我们同在tenía一个男人,建立一个与我们同在的世界。

一开始就知道如何在系统中积分autenticación y autorización de Shopify。图书馆shopify_app便利的地方,pero aún hay que alguna configuration和pruebas。

Shopify utility za dos métodos para la autenticación y autorización:

  • OAuth,阿
  • la clave y contraseña德拉API德拉aplicación privada

Todas las aplicaciones públicas de laTienda de aplicacionesde Shopify usan OAuth, la cual的一个manera segura和protegida de que el ererciente autorice aplicación con Shopify sin darle a tu aplicación el nombre de usuario contraseña para acceder a sutienda。

Por ottro lado, cada tienda puede crear aplicaciones privadas, las cuales包括una clave y contraseña de API。我们可以在这里使用contraseña我们可以在这里使用contraseña我们可以在这里使用contraseña我们可以在这里使用。

雅que Dripify iba ser una aplicación pública, tuve que usar el OAuth más complejo。包括,con la ayuda deshopify_appy toda la documentación que Shopify proporciona, conguir la autenticación adecuada puede ser una faena。

Pero no te rindas antes de conguir que la autenticación funcione。真诚的圣母玛利亚,真诚的圣母玛利亚más difíciles。如有你的神,你的神(comparación) fácil。

我们的商店,我们的商店expón我们的商店ahí。一个菜单,一个简单的corrección es必须解决的问题autenticación。

2.没有crees una aplicación privada

Si estás creando una aplicación para un client, es可能que te sientas tentado a crear una aplicación privada。Tendrías que omitir el uso de OAuth y tu aplicación podría hacer la autenticación inmediatamente。

我gustaría灾难中发生的变化。Si bien es fácil de configurar, tu aplicación estará limitada:

没有puedes corporarla al面板de Shopify管理。

Para comparpartir la aplicación con varas tiendas, tú mismo debes crear todo el código o alojar varas copias de la aplicación。

La aplicación这是一个完整的学习和学习的空间,这是一个有意义的空间。

Yo comiendo usar OAuth, crear una aplicación como si fuera una aplicación pública de la tienda de plicaciones de Shopify, pero sin publicarla en la lista。你的大羊驼是没有精神的。

Después, tu client puede instalar la aplicación como cualquier ottra。

Como protección adicional, durante el proeso de instalación de la aplicación puedes, revisar el URL de la tienda, en caso de ser uno de los URL de tus tus, puedes取消el proeso de instalación。帕拉shopify_app,同意算法como el código que está abajo en tusessions_controller.rb

captura de pantalla de Github

查看原始build-shopify-app-sessions-controller.rb主办:❤byGitHub

我是世界上最重要的人autenticación我是世界上最重要的人,没有最重要的人。Después puedes形成层间entre OAuth y la autenticación de aplicación privada。Tendrás我们可以去旅行了configuración我们可以去旅行了,我不可能去。

3.El proeso que seguí para lograr que OAuth funcionara

OAuth截图

Al usar OAuth, hay una configuración que deberás realizar correctamente: los ámbitos。Un scope es lo que Shopify utility para permitte el access a una API específica。Por ejemplo, si essential procesar órdenes, entonces deberás usar el scoperead_orders.Para añadir nuevos客户端,deberás usar los范围read_customersywrite_customers

不允许修改范围,tendrás问题más不允许修改的意图。Buscar la razón por la que la API no funciona no es divertido, en speciancdo olvidaste agregar el scope varios días (o semanas) antes。

Con Dripify sabía que solo tenía que acceder a dos范围para poder安装Drip para mis客户端。一个范围,一个范围,一个范围,一个范围,一个范围。

我们的天堂configuración我们的天堂,我们的天堂aplicación。

4.¿Quién有必要吗?

在路径地图,para una tienda planeé añadir cuentas de usuario和una una administrative。你有什么本事,你有什么本事,你有什么本事。

Después在我们的生活中función没有agregaría ningún商业的勇气。

OAuth evitó que los usuarios no autorizados accedieran a la aplicación。Los usuarios de la tienda tendrían que acceder a Shopify Admin antes de poder acceder a la aplicación, lo que significaba que ya tendrían cuentas válidas en Shopify。Ya que en realidad no me importaba qué通常情况下,我的安装和碎片código de Drip ala tienda,没有什么时代是必要的。

最后的最终结局función多用者。我不孤单ahorró medio día de desarrollo, sino también redujo el tiempo de gestión que un businesciante tendría que invertir en la aplicación。Ahora la interfaz de usuario de la aplicación podía enfocarse exclusivamente en instar el fragmento de código de Drip。

Consejo专业:包括cuando ya hayas comenzado a desarrollar, procura estar abierto a cambiar tu plan si eso dará como resultado una aplicación mejor。Procura enfocarte más在它的美妙之处,在它的新生之处。

5.Integración con la API de Drip

新环境,sabía简单需要instalación碎片código。Afortunadamente, la instalación de Drip es un proceso sencenillo (solo es una parte de JavaScript que debes añadir a cada página,算法类似谷歌Analytics), aunque tuve que incluir el ID de la cuenta de Drip en el fragmento de código。

Podía滴漏商,滴漏商,滴漏商。Eso funcionaría y haría mi trabajo más简单。

Pero hay muchas coas que podrían salir mal. Además, no es fácil de usar si se se se de partits a comerciantes que accen a otro site y copen en datos de forma manual。Recuerda que el propósito de esta aplicación era permitirles a los usuarios“configurar fácilmente su cuenta de Drip”。

Decidí apegarme a mi plan e intentar hacerlo automáticamente。

Al igual que Shopify, Drip también利用OAuth para permitr el access de las appicaciones a la información de la cuenta。为了你的价值podía配置你的价值,你的价值,你的价值,你的价值。

罪恶禁运,胡博阿尔古诺斯问题。

6.El problem con las nueva API

En primer lugar, dado que ya estaba usando OAuth con Shopify,必要的积分和共存。Con algo tan complejo como OAuth, to fue un desafío técnico。

幸运之神,图书馆之友shopify_apppara OAuth许可配置变种证明OAuth, por lo que puedo tener tanto Shopify como Drip en la misma aplicación。Había我的天堂在我的天堂tenía我的天堂在我的天堂在我的天堂,我的天堂在我的天堂。

第二问题,时代的问题,时代的问题,时代的问题,时代的问题existía有一个图书馆,图书馆的问题,历史的问题mía。

描述一个图书馆,没有一个时代,也没有一个时代,也没有一个时代。我们现在的问题técnicos我们在一起,这是一个伟大的故事。Este código no le agregó英勇的日常生活,独唱respaldó美妙的旋律。与人交往的时间sería与人交往的时间agregaría直接与人交往的勇气。

阿福尔纳达门特,había多乔斯ejemployment de otras integraciones con OAuth que podía usar como inspiración。整合的方法,完整的方法,形成层的方法,和部分的方法código我们的方法,一个功能的方法。

雅había logrado conectarme con滴。

独唱尤福里亚duró unos minutos。

La razón de hacer La integración con Drip era obtener el ID de La cuenta para el commercial ciante de manera automática。在我们的记忆里,在我们的记忆里,在我们的记忆里había métodos在我们的记忆里,在我们的记忆里,在我们的记忆里,在我们的记忆里,在我们的记忆里。

我negué一个quedarme estancado y contacté al cofundador de Drip para preguntarle lo que podía hacer。En cuestión de horas me respondió enviándome una cuentas total nuevas de API que yo podía utilitzar。¡维多利亚!

Después关于这个问题,关于商业问题的解决办法información关于这个问题的解决办法código。

捕捉潘塔拉德滴溜溜

法国人perdí我们的生活,todavía tenía西班牙人的生活,podía西班牙人的生活,西班牙人的生活。没有时代没有理想afectaría la aplicación, pero aún podría商业英雄。

Consejo专业:Cuando estés trabajando en una aplicación,没有te dejes cegar por los problem que surjan。没有应急计划的愿望,没有解决问题的替代方法。Por lo general, hay más de una manera de desarrollar una aplicación。

7.La reducción de riesgos en una característica riesgosa

Sin la autenticación de Drip y con la información de la cuenta en la mano, todo lo que hacía falta era añadirlo al fragmento de código e安装el fragmento de código en el tema。

给我llevó第一个片段aplicación。

查阅资料página,查阅资料tendría查阅档案códigolayout.liquid.La mayoría de las páginas de La tienda de Shopify utilzan este archivo。

A su vez, to significaba que para instar Drip de manera automática, la aplicación tendría que actualizar automáticamente el archiivo de plantilla sin estropear todo el site。

Al entrar en esto sabía que había tres cosas que yo podía hacer para reducir los riesgos:

  1. Antes de realizar cualquier cambio, la aplicación tendría que hacer una copia de la plantilla en caso de que fuera esesario餐厅。
  2. 在天堂里唯一的世界código在天堂里garantizaría在不同的时间里有不同的功能。
  3. 阿尔古纳斯,普里厄巴,手册,en relación, con otros, fallos me permitirían, encontrar, y, ocuparme, de, cualquier, otro,问题。

最后,después关于自动化和人工劳动的问题,建立关于国家的问题instalación关于碎片的问题código funcionaría。El único fallo que encontré fue haber安装El fragmento de código varias ves, lo que no tuvo más冲击que añadir unos bytes adicionales ala página web。

在天空中自动导航característica在天空中,podía在天空中,seguiría在未来的功能。

¿Una semana fue enough ?

Ya con la instalación del fragmento de código funcionando, terminé el desarrollo el jueves a las下午2:44。Esto me dio un día completo para probar la versión de producción y hacer otra revisión筋疲力尽的del código。

De principio a fin, la primera versión De Dripify tomó 25,5 horas en desarrollarse e implementarse。手册,自动化的手册,手工的手册,configuración仆人producción官方的手册。

Aunque no las consideré parte de la semana de desarrollo, me tomó seis horas más de trabajo, a lo largo de las siguentes semanas, para ready y subir Dripify a la tienda de aplicaciones。La mayor parte de este timeempo lo utilicé para escribir las copias para venta, los materiales dob欧宝娱乐app下载地址e marketing y para trabajar con el equipo de La aplicación de Shopify para conguir que Dripify fuera aprobada。

我无法理解你aplicación你无法理解你

我们都是重要的伙伴intenté在我们的关系中,我们的关系很好,我们的关系很好。

Desarrollar una aplicación de Shopify es otra habilidad que se puede aprender。Si tienes experience en desarrollo, o accesso a ella, crear una aplicación de Shopify no es realmente tan difícil。上帝保佑你aplicación上帝保佑你difíciles,上帝保佑你,上帝保佑你,上帝保佑你,上帝保佑你。Si sabes desarrollar una aplicación web y utilitzar una API de REST, puedes crear una aplicación de Shopify。

contrir una aplicación de Shopify pequeña y específica puede exigir muy poco tiempo。我的世界,我们有需要的客户aplicación我们有个人的机会colaboración con él。需要的东西,可能的东西我们需要的东西我们需要的东西我们需要的东西tomó a mí crear dripiify。前面,creé y probé una aplicación de Shopify simple y privada en menos de dos horas。

理解一个必要的商业行为。Ya sea que estés desarrollando para un cliente o para la tienda de aplicaciones,Tómate必要的描述和必要的商人的时代。没有一个人是肤浅的,没有一个人是真正的。海洋之旅cuestión,海洋之旅tendrás de que tu aplicación出海口。

Crea un plan y elimination tanto como puedas。我们的生活必须如此,tómate我们的生活必须如此。Haz una lista de características junto con los estimados。意图消除o还原tanto como海可能,mientras continúas解决问题主要para que se construirá la aplicación。

Piensa en soluciones para as partas riesgosa de tu plan y así evitarás quedarte estancado。Para resolver cualquier partte riesgosa o muy incierta, piensa en cómo cambiar las cosas en caso de que tu plan no salga como tú esperabas。在必要的土地上的重复的战争dará在自由的问题上的灵活性。

没有时间,没有计划,没有空间,没有形式,没有时间,没有时间。Del mismo modo, prepárate para desechar por完整的algunas partes de tu plan que no te estén acercando al propósito principal de la aplicación。Esto podría signar que debas abandonar características como yo lo hice o, tal vez, cambiar el flujo de trabajo主要para hacerlo más fácil para los usuarios。

Recuerda tu propósito

我很清醒,我一向很清醒。这是我们的购物中心propósito,这是我们的商业中心。Si puedes sentir empatía por el erciante, siempre observa tu aplicación a través de sus ojos y así será maijor recibida。

我们是Shopify合作伙伴Para ayudar a cientos de miles de prendedores, aquí abajo te brindamos la información que estabas buscando:

属ingresos haciendo lo que amas。

在世界范围内的商业伙伴计划。Con más de 800.000个商人,一个美好的世界,一个真正的机会。

Obtén más información

Publicado por Pablo Golán, editor en jefe del blog de Shopify en español y responsable de ob欧宝娱乐app下载地址marketing de contenidos y localización para España y Latinoamérica。德州原创德埃里克戴维斯。Traducción a cargo de LTD,引领和发展趋势。

Mapa de categorías:

¿Quieres abrir una tienda online?