GMTC深圳站本周日开幕,14大专题全部上线,完整日程>> 了解详情
写点什么

我为女友做了一款 App

  • 2021 年 5 月 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 年 5 月 23 日 14:153710
用户头像

发布了 391 篇内容, 共 174.5 次阅读, 收获喜欢 944 次。

关注

评论

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

全网72万浏览量!阿里重磅开放 “SpringCloudAlibaba学习笔记”(附下载)!

Java 编程 架构 面试 微服务

架构之:微服务架构漫谈

程序那些事

架构 微服务 程序那些事

千古无同局?围棋在线教育还有这样的打开方式!

亚马逊云科技 (Amazon Web Services)

直播连麦技术闭坑篇

anyRTC开发者

音视频 WebRTC 视频直播 视频通讯 视频连麦

智慧社区平台解决方案,平安小区建设解决方案

13823153121

您的出门“最后三公里”问题解决啦!

亚马逊云科技 (Amazon Web Services)

eKuiper 与百度智能边缘框架 BIE 集成方案

EMQ映云科技

边缘计算 边缘技术 边缘流式数据 #百度# 智能IoT边缘服务

译文 | 新手PM指南:你应该避开的六大常见错误

LigaAI

产品 产品经理 产品设计

Linux运维职业困惑?给你史上最全互联网Linux工作规划!

学神来啦

图解 Redis丨这就是 RDB 快照,能记录实际数据的

华为云开发者社区

redis 数据 日志 aof RDB 快照

查漏补缺!复盘B站面试坑我最深的Java并发:JDK源码剖析

Java 编程 程序员 架构 面试

权限与认证:HTTP状态码返回

程序员架构进阶

Java HTTP 28天写作 6月日更

秋招冲刺:网络安全工程师入围成功之旅!!

网络安全学海

面试 运维 网络安全 信息安全 渗透

云小课 | 玩转HiLens Studio之快速订购HiLens Studio版本

华为云开发者社区

modelarts 华为HiLens HiLens Studio EI智能体 AI开发应用平台

备战金九银十:4000道Java面试真题合集,助你搞定面试官

昆明智慧安防小区建设方案,平安社区建设

13823153121

阿里P10热荐,面试前必看!Java高并发编程五套“完美日记”GitHub已经标星78K

Java架构追梦

Java 阿里巴巴 架构 面试 并发编程

TcaplusDB小知识之查看TcaplusDB集群状态

数据人er

数据库 nosql tencentdb TcaplusDB

Nginx的进程管理与重载原理

Linux服务器开发

nginx 后端 中间件 Linux服务器开发 进程管理

花168大洋买来的【阿里P8Java成长笔记】,看完才知道我就是菜鸡

Java架构师迁哥

2021年大厂Java面试总结:Java+并发+spring+数据库+Netty

程序员改bug

Java spring 程序员 架构

未来,让我们一起想象 — “Imagine” 阿里云视频云全景创新峰会

阿里云视频云

阿里云 计算机视觉 音视频 视频 英特尔

今天,「浪潮云说」直播间开讲啦!

浪潮云

面试碰壁?奉劝想跳槽大厂的Java岗程序员三刷以下面试题

Crud的程序员

Java 程序员 架构 面试 编程语言

【案例】消除隐患,基于电力大数据的群租房智能分析

星环科技

如何使用 Distroless 让你的容器更加安全

K8sCat

flask Docker Kubernetes Google Distroless

万物互联时代,如何玩转鸿蒙系统的用户体验?

博睿数据

鸿蒙 用户体验 博睿数据

阿里专家把SpringBoot:入门+基础+进阶+项目全部整理出来了

Java 编程 架构 面试 微服务

java特点了解及JDK初谈(程序员必看!)

Java 程序员 面试

干货!8年Java开发经验,分享各专题面试文档及架构资料

Crud的程序员

Java spring 架构

【视频】51CTO专访博睿数据COO吴静涛,解读IT运维“新范式”

博睿数据

数据cool谈(第2期)寻找下一代企业级数据库

数据cool谈(第2期)寻找下一代企业级数据库

我为女友做了一款App-InfoQ