HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

我为女友做了一款 App

  • 2021-05-23
  • 本文字数:1753 字

    阅读完需:约 6 分钟

我为女友做了一款App

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


我:你想看什么电影?

女友:我不知道,你想看什么?

我:我们看《金刚大战哥斯拉》吧

女友:不,扎克·斯奈德的《正义联盟》怎么样?

我:不,太长了。《米纳里》怎么样?

女友:不,太严肃了。......怎么样?


所以,你懂的。


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


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


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


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


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


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

如何开发一款手机 App?

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


  • 处理 API 调用的后端服务器

  • 一个实际渲染应用的前端客户端

  • 一个存储电影和用户爱好的数据库

  • 一个用于存储图片的对象存储解决方案


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

前端:React Native

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


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

后端:express.js

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


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

数据库:MongoDB

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


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

Blob 存储:Azure Storage

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

获取数据

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

TimeLine

构建 App

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


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


  • 看看我和我的朋友想看什么

  • 成立一个小组,看看我们愿意看什么

  • 根据服务(Netflix、Hulu 等)过滤和查看电影

  • 按类型过滤和查看电影




通过应用商店审批


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


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


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


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

市场营销

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


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


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


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

后续

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


我:我们用 WeWatch 吧

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


看来,我还要做些改进。


原文链接:


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

2021-05-23 14:156100
用户头像

发布了 733 篇内容, 共 468.9 次阅读, 收获喜欢 1544 次。

关注

评论

发布
暂无评论
发现更多内容

如何保存我们的资产

不在调上

当百度遇上新基建:开放是基本原则 做智能时代的赋能者

百度大脑

人工智能 百度 AI 新基建 百度大脑

日入斗金,稳赚不赔?小心泛滥网络的兼职刷单让你钱尽财空

360安全卫士

华为云的研究成果又双叒叕被MICCAI收录了!

华为云开发者联盟

学习 AI 计算机视觉 医疗 华为云

【DevOps】Jenkins持续集成流水线(中)

Man

DevOps jenkins CI/CD JACOCO FINDBUG

计算之美(1/12)

我的偶像是木子

数据结构 算法

微服务架构下的核心话题 (二):微服务架构的设计原则和核心话题

xcbeyond

架构 微服务 设计原则

英特尔十代酷睿携手机械革命X3-S 纵享顺畅游戏之巅

最新动态

影调:光影交响曲

北风

摄影 风光 影调 光影 人像

百度大脑人脸离线识别SDK升级盘点,Linux ARM版本上线

百度大脑

人工智能 人脸识别 百度大脑 sdk

EasyDL的数据集、模型与代码的版本管理:灵活管理效率提升

百度大脑

人工智能 模型训练 百度大脑

对于容器技术的看法

倾心煎蛋

女博士年薪156万入职华为!网友:实力演绎美貌与智慧并存

程序员生活志

华为 少年天才

Week09作业

熊威

详解GaussDB(for MySQL)服务:复制策略与可用性分析

华为云开发者联盟

数据 路径 可用性 华为云 GaussDB

为Z3 Air-赋能,十代酷睿引领游戏5GHz新时代!

最新动态

浙江上线市场监管区块链电子取证平台,武汉出台“区块链八条”,

CECBC

区块链 行业资讯 产业落地

充分释放数据价值:安全、可信6到飞起

华为云开发者联盟

区块链 数据共享 华为云 可信安全计算 数据价值

NIO的组成有哪些——奈学

古月木易

nio

环信大学:模型的边界!

环信

如果不懂编程,请看这里!!!

代码制造者

学习 编程 低代码 零代码

Gitlab 部署配置

wong

gitlab

什么是深度强化学习?

华章IT

学习 智能体

直播平台在贝壳找房中的实践与运用

Geek_hyrcb9

架构 分层架构 直播 分层思维 多元场景应用

架构师训练营第九周

WW

NIO的组成有哪些——奈学

奈学教育

nio

打造高转化率网站不得不遵循的3条规范

姜奋斗

网站架构 网站 网站搭建 高转化率 转化

信创舆情一线--工信部开展网络安全技术应用试点示范工作

统小信uos

中国四大银行正在大规模内测数字货币APP|可凭手机号完成转账

CECBC

数字货币 DCEP 中国人民银行

原创 | 使用JPA实现DDD持久化- O:对象的世界(2/3)

编程道与术

Java hibernate DDD JDBC jpa

第九周作业

腾志文(清样)

我为女友做了一款App_移动_Joshua Fonseca_InfoQ精选文章