【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

我为女友做了一款 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:155889
用户头像

发布了 695 篇内容, 共 406.2 次阅读, 收获喜欢 1508 次。

关注

评论

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

冠军!天翼云在国际AI顶会大模型挑战赛中拔得头筹!

天翼云开发者社区

人工智能

JMeter笔记11 | JMeter事务

测试 Jmeter 性能测试 自动化测试 接口测试

70+页实战经验分享,《研发效能红宝书》重磅发布 | 附下载

思码逸研发效能

研发效能

用好支付宝小程序云云开发,告别繁琐的小程序开发流程

TRaaS

小程序 支付宝小程序

数智人力:如何通过搭建全球人才供应链帮助企业海外扩张?

用友BIP

人力资源 数智人力

中国农发行的全面预算管理新举措

用友BIP

全面预算

软件测试—性能测试的专业术语1

测吧(北京)科技有限公司

测试

SCADA系统架构的类型

2D3D前端可视化开发

物联网 web组态 工业自动化 SCADA 工业组态

数字底座的连接集成加速数智企业互联互通

用友BIP

数智底座 数字底座 连接集成

低代码赋能数字化转型的5种方式

这我可不懂

低代码 数字化转型 JNPF

软件测试 | 性能测试的误区(一)

测吧(北京)科技有限公司

测试

快速掌握 Axios 请求库的基本用法

Liam

程序员 开发 HTTP API axios

TRUNCATE 语句到底因何而慢?

爱可生开源社区

MySQL 源码 innodb TRUNCATE

软件测试—性能测试的专业术语2

测吧(北京)科技有限公司

合约交易所系统开发搭建流程

薇電13242772558

系统开发

基于OpenHarmony开发的玻璃拟态天气应用(1)项目介绍及项目的初始搭建

路北路陈

前端 HarmonyOS OpenHarmony应用开发 6 月 优质更文活动

沉浸式下载Niconico视频到手机相册,手残党们快快跟上!

frank

霍格沃兹测试开发学社线下班开班啦!无offer返学费哦!

测吧(北京)科技有限公司

测试

JMeter笔记12 | JMeter集合点

测试 单元测试 Jmeter 性能测试 接口测试

软件测试 | 性能测试误区(二)

测吧(北京)科技有限公司

测试

社交泛娱乐全球化,看融云出海如何助力玩法创新催生长线黑马?

融云 RongCloud

音视频 融云 泛娱乐 出海 通讯

API网关-APISIX简介

天翼云开发者社区

云原生 API

如何提升企业在全面预算中管理组织水平?

用友BIP

全面预算

一文读懂火山引擎A/B测试的实验类型(2)——可视化实验

字节跳动数据平台

A/B 测试

KaiwuDB 受邀出席大型企业数字化转型峰会暨工赋山东济南峰会并发表演讲

KaiwuDB

KaiwuDB 数字化转型峰会

openEuler+Linaro合作成果展示|2023开放原子全球开源峰会

openEuler

Linux 开源 操作系统 openEuler linaro

国外服务器助力你的网站实现全球业务拓展!

一只扑棱蛾子

国外服务器

4 个月、2 万颗星,1 个恒纪元

Zilliz

非结构化数据 Milvus 大模型时代 向量数据库 zillizcloud

软件测试 | 性能测试的种类有哪些?

测吧(北京)科技有限公司

测试

OpenHarmony社区运营报告(2023年5月)

OpenHarmony开发者

OpenHarmony

四行代码开启流计算之旅

吴英骏

数据库 开源 流计算 云原生 存储

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