Tapitoo OpenCart:一款开源的电子商务移动应用

325 位读者喜欢这篇文章。
Different cell phones

Opensource.com

Tapitoo OpenCart 是一款开源的在线商店应用,旨在帮助在线商店提高知名度,并在最具竞争力的市场中产生更大的影响。我们决定开发一款应用,使其能够尽可能无缝地与最大的电子商务后端解决方案以及定制商店集成。

除了网络星期一和网络周之外,数百万人依赖移动购物渠道,这种偏好彻底改变了在线商务。目前,移动端占所有电子商务收入的 40%,行业专家预计几年内将增长到 70%。如今,移动应用不仅是任何电子商务努力的建议,而且是零售商生存的必需品。根据 Google 的说法,“没有移动优化的网站就像每周关闭商店一天。”

根据 研究,我们发现移动应用的用户留存能力是移动网页的两倍,新应用用户在 30 天内返回的可能性高于移动网页用户。此外,应用转化率是无与伦比的,能够与消费者达成交易,并比任何其他渠道提供更高效的交易。

客户

为了实现我们的目标,我们决定为 iOS 和 Android 构建一个移动应用。

时间至关重要,那么为什么要花费时间为多个平台构建,并使用不同的语言和不同的代码库编写代码呢?我们进行了研究,找到了解决方案,并借助 Adobe 的 PhoneGap,我们通过为所有平台使用一个代码库,解决了这个多平台创建方面的问题。PhoneGap 框架是 Cordova 的一个开源发行版,它使用开放的 Web 技术来构建移动应用。该应用在自定义浏览器容器内运行,但性能对于我们的目的来说非常出色。

当我们最初开始我们的冒险时,我们需要一个可靠的框架来处理所有的数据和操作。我不想引发框架之战,但 AngularJS 是当今使用最流行的 JavaScript 框架,它由 Google 支持,在 GitHub 上拥有超过 53,000 颗星,并被超过 23,000 人 fork。然而,仅仅因为它是一个最大的框架并且由 Google 支持,并不一定意味着它最适合我们。在我们的案例中,它比其他 JavaScript 框架具有优势,包括它是一个模型-视图-控制器 (MVC) 框架,这为我们提供了良好的应用结构。它还具有“双向数据绑定”,因此我们可以将我们的模型绑定到 HTML 元素,这意味着如果在商店的后端进行了任何更改,它们将立即反映在应用中。使用 HTML 进行模板化也是一个优点,因为这样做可以保持事情简单,并允许设计师和开发人员同时工作。

对于 UI,我们有几个选项可供选择。Kendo UI 可能是一个不错的选择,因为它在当时是一个稳定的框架,并且具有出色的性能和文档,但它有一个主要的缺点,它不是开源的。我们的最初意图是将其商业化发行。为每个客户支付固定费用是一个很大的缺点。我们最终选择了 Sencha TouchIonic 框架,这两者都非常宽松并带有 MIT 许可证。在此过程中,Sencha 更改了他们的许可模式,这给了我们所需的动力来深入研究 Ionic。我们最终不得不重写我们模块的一部分,并吸取了关于许可的重要教训,因此在选择构建产品所用的东西时要格外小心;它可能会在你开始之前就让你倒闭。

Ionic 的构建是为了与 AngularJs 完美配合。它使用一系列组件(复杂列表、侧边菜单、导航、弹出框、模态框等)扩展了 Angular,使构建移动设备的 UI 变得异常容易。这对我们来说非常有用,因为我们想要为应用构建一个简单的骨架,并在以后根据客户的需求对其进行定制,以适应他们的外观和感觉。

不幸的是,使用 Ionic 构建我们的应用并不全是甜言蜜语。当我们开始时,Ionic 仍处于 beta 阶段,我们遇到了不同的开发问题。其中之一是滚动性能。如果它是一个更大的商店,并且每个类别有超过 1,000 个产品,则加载时间会更长,而且滚动也很糟糕。在 Ionic 的优秀人员解决这个问题之前,我们不得不求助于每页仅加载 10 个产品。然后他们引入了一个新的 JS 组件 collection-repeat,它允许应用更高效地显示大量项目列表。它只将当前可见的项目渲染到 DOM 中。这意味着在可以容纳八个项目的手机屏幕上,只会渲染与当前滚动位置匹配的八个项目。

对于我们的应用,我们也希望为店主提供一个新的渠道,通过推送通知与他们的客户保持更紧密的联系,因此我们找到了一个名为 OneSignal 的服务并将其集成到我们自己的服务中。它是 100% 免费的,可以在无限设备上发送无限通知。它还可以帮助我们创建个性化消息。设置非常简单,并且具有许多其他功能。

从一开始,我们就希望我们的应用能够轻松地实例化并与所有主要的电子商务框架集成。为了实现这一点,我们将其构建得非常模块化,因此即使是仅仅熟悉 Angular 的新开发人员也可以轻松设置它。我们尝试在我们自己的服务中复制电子商务平台的每个功能,以便于扩展或修改。

定制应用以适应不同在线商店的美学取决于开发人员的能力;他或她只需要编辑一些 HTML 文件和 CSS 类。

后端

为了展示我们项目的功能,我们将 演示实例 连接到 OpenCart,这是开源电子商务领域的主要参与者之一。一旦我们为平台设置了 API,集成就变得轻而易举。请记住,我们项目的重点不是与特定的电子商务提供商集成,而是更侧重于可以集成到任何后端解决方案的通用方法。

展望未来

我们 Tapitoo OpenCart 的开发者路线图已经排满,我们看到社区对它有很多议论。我们希望对当前的应用进行优化,增强 UI 和架构,甚至可能做一个衍生项目:Angular.js 商务。我们希望我们的平台能够获得尽可能多的关注,因为我们已经使其真正实用、为生产做好准备并且非常有用。在撰写本文时,我们在 13 天内获得了近 60,000 次页面浏览量。

考虑到这些目标,我们期望有才华的开发人员为它的开发做出贡献。主题创建者也可以加入并设计漂亮的主题,以便部署到 iOS 和 Android。如果您发现错误,请在 issue tracker 中告知我们。在 GitHub 上找到我们。

标签
User profile image.
3 次创业失败的企业家。Neo4j 认证的开发者和贡献者。对分布式计算、大数据和人工智能感兴趣。

2 条评论

Tapitoo 迫切需要一个移动控制面板,让使用电子商务的商家能够完成他们通常在台式机上完成的所有事情,或者更糟糕的是,被迫通过电话完成。诸如手动覆盖、反向付款、退款之类的操作。这些事情让客户感觉到你很关心他们,因为你立即处理了。

我是一名移动架构师,或者说是我上一份工作是。我的观点是,系统应该设计为仅限移动端。

这意味着移动应用应该设计为具有所有功能。没有什么可以阻止构建桌面应用,但大屏幕空间和其他资源会让你变得懒惰。将你的创造力投入到制作一个功能强大的移动应用中,让用户永远不必寻找有线设备。然后在之后制作桌面应用。

相信我,我知道这很有道理。

这可以包含在 Android Studio 项目中吗?

© . All rights reserved.