前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我为女友做了一款App

我为女友做了一款App

作者头像
深度学习与Python
发布2023-04-01 17:19:05
6080
发布2023-04-01 17:19:05
举报
文章被收录于专栏:深度学习与python

作者 | Joshua Fonseca

译者 | 平川

策划 | 万佳

作为电影爱好者,我和女友每周要看 1-2 部电影。但是,我们经常不知道要看什么。光是选电影,就得花一个多小时。怎么办?我开发了自己第一款 App,已有 400 多用户。

我和女友总是找不到合适的电影看。通常,这个过程是这样的:

我:你想看什么电影?

女友:我不知道,你想看什么? 我:我们看《金刚大战哥斯拉》吧 女友:不,扎克·斯奈德的《正义联盟》怎么样? 我:不,太长了。《米纳里》怎么样? 女友:不,太严肃了。...... 怎么样?

所以,你懂的。

我们通常每周看 1 到 2 部电影,所以经常这样……

这种事不只是发生在我和女友身上。以前,我和朋友真的花一个多小时选电影。

问题很简单:我们不知道自己愿意看哪些电影。我甚至不知道愿意看什么电影。有什么解决办法吗?

作为一名软件工程师,我以技术为生。我可以做一些东西来解决这个问题。但前提是,我要先研究一些,人们解决这个问题的方法。而我在推特上发现了有用的信息。

我很兴奋,这似乎是个好主意:如果你和你的另一半都有一款 App,你可以向左或向右滑动流媒体上的电影。当你们找到的电影相匹配时,它会让你们知道。—— c a i t l i n

这并非一个原创想法,但我之前从未做过手机应用,所以我认为这将是一个很酷的学习体验。除此之外,我还可以用它来解决我和我关心的人之间的实际问题,这非常特别。

1如何开发一款手机 App?

在基础层面上,我知道自己需要:

  • 处理 API 调用的后端服务器
  • 一个实际渲染应用的前端客户端
  • 一个存储电影和用户爱好的数据库
  • 一个用于存储图片的对象存储解决方案

既然是第一次研究手机应用开发,为什么不学习各个层次上的新东西呢?

 前端:React Native

我不想编写原生代码,因为……,我没时间做那个。跨平台开发显然更理想。据我所知,我的选择要么是 React Native,要么是 Flutter。我在之前的一些项目中用过 React。虽然我不是 React 专家,但我至少了解一些它的基本知识。所以,我决定使用 React Native。

值得注意的是,我用了 expo 来处理实际的构建和部署过程。它为我节省了很多时间!

https://docs.expo.io/?fileGuid=1nTXNuk6H50PbHMt

 后端:express.js

对此,我没有太多要说的。我以前从未用过 Node.js,但经常听说它,所以我想尝试一下。

我很惊讶,它竟然如此容易使用!如果你理解了 API 的工作原理,就很容易深入下去。而且,我第一次编写了自己的中间件——太棒了!节省了我很多时间!

 数据库:MongoDB

我以前只用过 SQL 数据库,所以我想也应该尝试一下面向文档的数据库。编写模型非常简单,但是我很难理解 MongoDB 的查询和聚合流。

我认为,查询还可以优化,但是,我能让它工作就不错了。

 Blob 存储:Azure Storage

我选择用它的唯一原因是,每月可以获得 100 美元的 Azure 免费信贷。说实话,我认为它的文档很差,交互也很难。不过,这是可行的,但有些情况,我仍然不清楚应该如何处理。

 获取数据

我编写了一个自动化的网络爬虫,它用新电影填充我的数据库。你知道世界上只有大约 50 万部电影吗?我可以在数据库中添加进所有电影。

2TimeLine

 构建 App

开发应用花费的时间最少,这让我很沮丧。我花了 2-3 周时间才把应用构建到能运行的地步(除了一些小 Bug 的修复)。

结果给我留下深刻印象。我能够:

  • 看看我和我的朋友想看什么
  • 成立一个小组,看看我们愿意看什么
  • 根据服务(Netflix、Hulu 等)过滤和查看电影
  • 按类型过滤和查看电影

 通过应用商店审批

这个过程非常糟糕。我必须一次性支付 25 美元才能进入谷歌 Play 商店,每年支付 100 美元才能进入苹果应用商店。

此外,还有一些愚蠢的要求。

我需要至少提供 X 张截图,而且还指定了每张图的分辨率。最重要的是,我等了很长时间才获得批准。这个等待过程真的让我很痛苦。

苹果,谷歌。让我发布应用吧,你们已经掏空了我的口袋!

 市场营销

虽然这个 App 最初是为我和我的朋友们准备的,但是如果我必须花钱开发这个应用,也许能吸引更多用户,把钱赚回来。

Reddit

和往常一样,我把它传遍了 reddit,并得到一些相当积极的反馈,在 r/sideproject 上的多个帖子获得大约 100 个赞。

Facebook

我把创意分享给大学的朋友们,还在 facebook 上发了帖子。他们很支持我,帮我推广这个应用。

此外,我发现一个名为 loom 的服务,并录下我对所有注册朋友的感谢。这不仅可以让他们见到我,还能鼓励他们与朋友分享。

3后续

目前,WeWatch 大约有 400 个用户,这比我以前做过的任何东西都要多!上周末,我的女友让她的朋友们和我们一起过周末,我们要找部电影看。这是我的机会:

我:我们用 WeWatch 吧 女友:不,那太费时间了。我们就看《空中大灌篮》吧!

看来,我还要做些改进。

原文链接:

https://jerseyfonseca.com/blogs/wewatch?fileGuid=1nTXNuk6H50PbHMt

本周好文推荐

近30年的开源项目被“夺权”,员工集体离职后成立新项目抗衡

终于!Fuchsia OS正式公开可用,谷歌迈出了五年来最关键的一步

库克亲自出庭回应“苹果税”质疑:收取30%佣金是应该的

“数据中台”死而不僵

Data Mesh,数据架构的下一个变革!


InfoQ 写作平台欢迎所有热爱技术、热爱创作、热爱分享的内容创作者入驻!

还有更多超值活动等你来!

扫描下方二维码

填写申请,成为作者

开启你的创作之路吧~

点个在看少个 bug 👇

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档