Mac/iOS独立开发者,从入门到放弃(精通)

Tinyfool的胡说八道
5 Aug 202327:52

Summary

TLDR在这期节目中,Tinyfool探讨了Mac和iOS独立开发者的旅程,从入门到放弃的全过程。他以自身经验为基础,详细讨论了编程入门、技术精进、产品选择以及营销和运营四个关键领域。Tinyfool强调,成功的独立开发不仅仅依赖于编程技巧,还需要对市场有深刻的理解和有效的运营策略。此外,他也提到了学习资源的变化,如今借助如ChatterDBT等工具,学习编程变得更加容易。最后,他提醒开发者重视产品选择和市场营销,这些是决定独立开发成功的关键因素。

Takeaways

  • 😀 学习编程可以采取“先入门再精通”的路径,不必非要把每一章或概念都完全学会才开始编写代码
  • 😊 持续集成的理念适用于学习,即使不了解所有功能,也可以先做一个简单的版本,然后逐步添加更多功能
  • ☝️ 技术精进更适合专注在业务需求上,用用户反馈来决定下一步学习什么
  • 👌 产品选择影响是否能在市场上获得成功,需要考虑解决的问题和获得用户的可能性
  • 🤔 独立开发者需要学会站在普通用户而不是极客的角度来理解需求
  • 📚 现在借助搜索引擎和ChatterDBT等工具,编程入门的门槛比以前低很多
  • 🤳 營销是独立开发的关键,需要从产品和解决的问题入手,进行社交媒体宣传
  • 🎯 ASO决定App在应用商店是否容易被发现,需要使用各种技巧来提高曝光率
  • 👨‍💻 科班出身有利于编程,但也有很多优秀的程序员并非计算机专业
  • ✌️ 选择合适的学习材料很重要,找一本能边学边编程的书最实用

Q & A

  • 作者推荐的编程学习方式是什么?

    -作者推荐“先入门再精通”的学习方式,即先使用基本语法写一些简单的代码,然后再逐步学习更复杂的功能,如UI、数据库等。他认为不必一次全面掌握。

  • 作者如何评价计算机科学专业的学习?

    -作者认为计算机科学包含很多实际编程中用不到的理论知识,不反对这种学习,但对实际写好代码帮助不大。他举了一些例子,如编译原理等。

  • 作者如何看待“打基础要牢固”这种说法?

    -作者并不反对这种说法,但他认为基础也可以是实用性的,不必全面系统地学,可以采取渐进式学习。

  • 作者如何评价大学计算机专业和编程之间的关系?

    -作者认为两者有一定割裂。计算机科学研究的算法等理论对实际编程帮助不大,反而会忽视代码质量、性能等工程问题。

  • 作者如何看待持续集成在学习编程中的作用?

    -作者认为持续集成的理念很适合学习编程,即使初学者也可以先做一个简单的程序,然后逐步加入更多功能使其变复杂。

  • 技术精进应关注什么?

    -作者认为技术精进要紧跟用户需求,解决他们实际遇到的问题。不是单纯追求掌握更多技术。

  • 产品选择的要点是什么?

    -作者认为要选择有市场的产品,解决用户真正的需求,不能简单用程序员的视角。还要考虑用户群体等因素。

  • 作者如何看待程序员做产品时的主观性问题?

    -作者认为程序员容易认为一些简单的功能不值得做产品。但对真正需要这些功能的用户来说,一个简单的APP也可以大有用处。

  • 营销中最重要的是什么?

    -作者认为首先是产品选择,其次是让用户知道这个产品的存在,如ASO、SEO等。还有针对特定用户群体的营销。

  • 这个课题可以继续深入讨论吗?

    -可以的,作者欢迎提问与交流。如果有兴趣他可以针对更多细节继续这个系列。

Outlines

00:00

🚀 开篇介绍与入门挑战

Tinyfool在视频中介绍了本期内容,即Mac和iOS独立开发者的成长之路,响应会员Jack Huang1999的请求。他分享了自己作为开发者的经验,讨论了编程入门、技术精进、产品选择以及营销和运营等四个关键问题。Tinyfool强调,尽管他自认编程能力不错,但成功的独立开发不仅仅依赖编程技巧,还需要其他多方面的知识和技能。他还提到了编程学习的一些误区,比如过分强调基础语言学习的必要性,以及忽略实践和实用技能的重要性。

05:02

📚 学习方法与技术选择

本段中,Tinyfool讨论了学习编程的方法,特别是对于Swift UI和iOS开发。他建议采用选择性学习的方式,而不是逐章节深入,强调了“先入门再精通”的学习路径的重要性。他还提到了技术的横向与纵向问题,解释了掌握多种编程语言和技术栈的重要性,并且强调了实用主义的学习方法,即根据实际需要选择学习内容,而不是盲目追求全面。

10:05

🌱 学习漸進与实践重要性

在这一段,Tinyfool分享了关于学习过程应该是渐进的,从简单项目开始,逐步增加复杂度的观点。以一个日记软件项目为例,说明了即使是没有iOS开发经验的开发者,也能通过实践学习和逐步提高来掌握所需技能。他强调了通过实际项目学习的有效性,以及不需要一开始就掌握所有技术细节的重要性。

15:07

🔧 技术精进与目标导向

Tinyfool在此部分强调了技术精进的重要性,分享了自己如何通过具体项目来学习和精进技术的经历。他通过个人经历说明了,即使是刚开始iOS开发,也可以通过专注于特定项目来快速学习和应用新技术。他还提到了,作为独立开发者,重要的是关注业务需求和用户体验,而不是过分追求技术的全面性。

20:09

📈 产品选择与市场定位

这一段讨论了产品选择的重要性以及如何定位自己的App以满足市场需求。Tinyfool提出,独立开发者需要精明地选择他们的产品,以便在App Store上脱颖而出。他提到,美观和实用的App更容易获得推荐,从而获得更多的曝光和下载。同时,他也强调了了解市场和用户需求的重要性,以及利用自己的独特视角和经验来开发产品的价值。

25:09

📊 营销策略与持续成长

最后,Tinyfool讨论了营销和运营对独立开发成功的重要性,特别是如何利用SEO(搜索引擎优化)和ASO(App Store优化)来提高App的可见性。他分享了自己的经验,包括如何通过社交媒体和其他渠道宣传自己的App。同时,他也提到了持续学习和适应市场变化的重要性,以及如何通过解决特定用户群体的问题来创造有价值的产品。

Mindmap

Keywords

💡iOS

iOS是蘋果公司的手機和平板電腦操作系統。在視頻中多次提到iOS編程和iOS獨立開發者,這是視頻的一個重要話題。例如視頻一開始就說“今天聊的話題是, Mac iOS獨立開發者從入門到放棄”。

💡Swift

Swift是蘋果公司開發的一種編程語言,主要用於iOS、MacOS和watchOS應用程式開發。視頻中特別提到了“請問能否出一期Mac OS編程, iOS編程以Swift為主的從入門到大腦的路線建議”,這正是視頻討論的重點之一。

💡獨立開發者

獨立開發者指的是自己開發並發佈應用程式的開發者,不隸屬於任何公司。視頻題目即為“Mac iOS獨立開發者從入門到放棄”,重點討論了獨立開發者從入門到實踐的全過程。

💡App Store

App Store是蘋果公司的應用商店,用於發佈和下載iOS應用。視頻中多次提到通過App Store推廣應用以獲得下載量,這是獨立開發者營銷的一個重要渠道。

💡UI

UI是User Interface的縮寫,指用戶界面。視頻中舉例說初學者可以先做一個UI簡單的計算器App上架獲利。UI設計和程式實現是App開發的兩大要素。

💡算法

算法是用於解決計算機問題的步驟或程式。視頻中提到計算機科學包含了許多算法知識,比如搜索、排序等,這對程式開發也有幫助。

💡數據庫

數據庫是用於組織、存儲和管理數據的容器,視頻舉例一開始的App可以不連接數據庫,後期根據用戶需求再加入數據庫的複雜功能。

💡ChatGPT

ChatGPT是一個基於人工智能的聊天機器人,視頻中提到它可以用於解決程式開發過程中的具體技術問題,幫助開發者更快掌握開發流程。

💡SEO

SEO即搜尋引擎優化,指利用網站內容和代碼提高搜索引擎排名的方法。視頻中提到SEO是獨立開發者進行用戶獲取和產品推廣的一種重要手段。

💡ASO

ASO即App Store優化,指使App在App Store中更容易被搜索和發現的優化過程。這也是視頻中提到的獨立開發者進行營銷的一種方式。

Highlights

學習編程可以更加實用主義,不必把所有內容都全面學會

編程學習可以採用持續集成的方式,循序漸進地迭代完善

做獨立開發者要專注於業務,不懂其他內容也沒關係

技術精進可以跟隨用戶需求持續成長

產品選擇是獨立開發的核心問題

要選擇有市場需求和商業潛力的產品

獨立開發要解決具體的用戶痛點

運營要做好SEO和ASO

要利用自己的影響力來推廣產品

增長黑客可以幫助獲取更多用戶

要用開放的思維來看待獨立開發

解決不同需求的人選擇不同的產品

做減肥APP要針對胖子這一類用戶

愛美的女士更適合做美妝相關APP

歡迎提問獲取更多相關內容和細節

Transcripts

play00:00

大家好,這裡是Tinyfool的胡說八道,我是Tinyfool

play00:03

那麼今天聊的話題是

play00:05

Mac iOS獨立開發者從入門到放棄

play00:08

那麼這也是一期我們尊貴的會員的點播節目

play00:13

感謝會員Jack Huang1999的點播

play00:17

他問道說,你好,請問能否出一期Mac OS編程

play00:23

iOS編程以Swift為主的從入門到大腦的路線建議

play00:27

包括技術產品運營等方面適合獨立開發者的內容

play00:32

那麼我想聊的大概是四個大問題

play00:37

第一個大問題就是編程入門的問題

play00:39

這中間又包括學習方法

play00:42

技術橫向問題和縱向問題

play00:44

學習漸進的問題

play00:46

第二個是技術精進問題

play00:48

第三個是產品選擇問題

play00:50

第四個是營銷和運營問題

play00:52

當然首先我先講

play00:53

我自己也不算什麼在Mac上和iOS上

play00:57

獨立開發成功的案例

play01:00

當然我寫程序我還是自吹我寫的還可以的

play01:02

但是你想做好獨立開發

play01:04

其實還是需要很多編程技巧以外的東西

play01:09

當然後頭我們會繼續講

play01:11

那麼首先第一個就是說

play01:14

如果你是沒有iOS和Mac編程的經驗

play01:17

那麼其實就涉及到一個編程入門的問題

play01:20

如果有的話,那我們就可以從精進開始聽

play01:23

那麼編程入門這個問題

play01:25

我覺得是一個老生常談的問題

play01:28

我自己我的一些方法論和方法

play01:32

我認為是非常有效的

play01:33

但是很多人可能會覺得是這種

play01:36

有點怎麼說呢

play01:39

欺世盜名或者說有點不那麼就是

play01:43

就是不那麼這個怎麼說來著

play01:46

不那麼我也想不起那個詞

play01:49

反正就有的人不喜歡吧

play01:50

有的人會覺得你這種方法是誤人子弟

play01:52

對吧那當然中國

play01:54

中國以前有更多的這樣的人

play01:56

他會講說你不管學啥語言

play01:58

你必須從C語言學起

play02:00

必須從C++學起

play02:01

今天可能這麼說話的人就少多了

play02:04

從歷史上很多時候有些人是這麼堅持的

play02:08

或者說不管你是做前端

play02:10

還是做iOS還是做安卓

play02:12

你都必須先從後端做起

play02:14

或者先從底層學起等等等等

play02:17

或者說你要先從彙編學起

play02:18

今天我覺得這個這些說法基本上已經沒有了

play02:21

但是還是有很多人說什麼打基礎要打得牢啊等等等等

play02:25

其實我呢我當然也也不反對打基礎要打得牢的這麼個說法

play02:30

如果你有運氣或者說你有機會

play02:33

就比方說你是正牌的好大學的這個計算機

play02:39

我們叫計算機科學專業出身

play02:42

其實對你寫程序一定是有好處的

play02:44

那不管是就是算法呀

play02:48

這個編譯原理呀

play02:50

比方說數據庫啊等等等等很多很多的

play02:53

就是你去看這個大學的這種計算機科學的這個這個這個

play02:59

課程設置還有很多東西實際上是非常有用的

play03:02

但是呢實際上我也要反過來說

play03:05

其實有很多很多的程序員他不是科班出身的

play03:09

那麼最終一個程序員是科班出身的才能寫好程序

play03:14

還是說不是科班出身也能寫好程序

play03:17

我經過了這麼多年的這麼一個理解

play03:19

我認為呢都可以寫好程序

play03:22

因為實際上計算機科學是一個涵蓋非常廣闊的東西啊

play03:27

有一些東西比方像編譯原理吧

play03:29

90%的程序員其實用不到

play03:32

就是編譯原理其實核心的問題是說

play03:35

你要寫一個自己的語言的時候

play03:38

該去解決的這些問題對吧

play03:40

包括編譯器優化這中間當然就包括了無數的內容

play03:44

非常複雜一個東西

play03:45

但99%的程序員其實根本用不到編譯原理對吧

play03:49

那麼比方說現在的數據庫跟當年的數據庫也不太一樣

play03:53

就是總的來說我認為啊

play03:56

就是說我認為就是說

play03:58

你如果把計算機當做科學或者當做這種聖杯啊

play04:03

就是最牛逼的科學去看

play04:05

和你做一個好的程序員其實還是有區別的

play04:09

程序員其實他還有偏這個實踐的這一部分

play04:13

偏實用的這一部分

play04:15

甚至你可能也知道有一些大學的博士

play04:18

他寫出來的代碼最後可能還是需要一線程序員去改

play04:23

否則是沒法用的

play04:24

雖然這個博士可能是研究算法的

play04:26

雖然他可能能研究出非常獨特的算法

play04:29

但是他對這種工程上怎麼寫代碼

play04:31

其實他可能並不了解

play04:33

還有很多工程上的就是比方說怎麼去承擔大負載啊

play04:38

怎麼去做一個非常牛逼的程序的很多很多細節

play04:42

其實學校裡也教不出來

play04:45

學校也不怎麼教啊

play04:46

就是計算機科學其實今天

play04:49

他在某種程度上跟這個一線程序員

play04:53

其實還是有一定的割裂的

play04:55

但是你會肯定是沒壞處的啊

play04:58

那麼我想講的一種編程入門特別適合轉碼的

play05:02

或者說特別適合普通人的

play05:04

我認為呢

play05:05

其實還是要有選擇的去學習

play05:08

就比方說你今天拿到一個swift UI的這個手冊

play05:12

或者說一本書

play05:14

你是不是要每個章節都去看呢

play05:17

在我看來你不用

play05:18

你不用

play05:19

其實今天我們學很多東西的時候

play05:21

可以更實用主義的去學

play05:24

當然我的想法是我的邏輯是什麼呢

play05:26

我建議的是一種先入門再精通的路徑

play05:31

就是有很多思想

play05:32

他就是說你在學最基礎的語法的時候

play05:36

你要花一個星期

play05:38

你在學數據庫的時候又得花一個星期

play05:41

你在學負循環的時候也花一個星期

play05:43

也許你覺得好像打紮實的非常深的基礎是很好的

play05:48

但在我看來有的時候你不用去那麼學

play05:51

所以我其實想講的就是說

play05:53

你可以完全的跳過這麼一種玩法

play05:56

你可以不必去什麼都學

play05:59

你不必什麼都學

play06:01

那麼這個呢

play06:02

我覺得在這個其實就涉及到一個技術的橫向和縱向問題啊

play06:07

這其實是我當年作為一個劇場無比的

play06:11

這個podcast的兩個半小時啊

play06:13

現在說不定我找不著找了

play06:15

就是其實當然我這個橫向和縱向的切分也不一定是最合理的

play06:19

但是總的來說

play06:20

其實你知道在學編程方面

play06:23

其實有很多的維度

play06:25

很多的層面

play06:26

比方說舉個最簡單的例子

play06:28

你會一種語言和會兩種語言

play06:31

你會很多不同的語言

play06:32

這是一個層面就是語言層面

play06:34

那麼語言又分成很多種類型

play06:37

比方像C++

play06:38

C這種最簡單的語言

play06:40

或者叫做呃

play06:41

我們把它叫做現在可能一般把它叫低級語言是吧就是

play06:45

就是它可能更簡單直接的跟跟系統更接近

play06:50

甚至跟彙編更像

play06:52

那麼又有比方說像我們現在最流行的就是面向對象的語言

play06:56

C++啊

play06:57

其實其他的最近的語言基本都是面向對象的

play07:01

然後呢

play07:02

還有一些什麼像嗯

play07:04

還有很多其他各種類型吧

play07:06

就是說或者比方說你像這個現在還有一種叫DSL

play07:10

就是領域語言

play07:11

或者你可以把JavaScript理解成一種DSL

play07:14

或者可以把JavaScript的某些呃分支

play07:17

或者說前端的某一個技術

play07:19

你可以理解成它就是一種領域語言

play07:21

就是這種概念

play07:22

其實有很多很多不同的呃維度去看這個問題

play07:26

那語言是一個層面

play07:27

當然有的語言很像

play07:29

你學會了其中一個語言

play07:30

再學另一個語言

play07:31

你就變得你就覺得很很容易

play07:34

但有的語言之間差異很大

play07:36

你會Python和會這個Java

play07:39

好像是完全不同的兩種方向對吧

play07:41

但其實你會C和會Java有點像

play07:44

或者是你會Java和你會OpenRTC

play07:47

其實也在某種程度上也很像

play07:49

這是一個層面的問題

play07:51

還有一個層面就是說

play07:52

你實際上在真正解決技術問題的時候

play07:55

你學的又不純粹是語言

play07:58

其實語言是個很簡單很簡單的東西

play08:00

語言就是一個工具嘛

play08:02

就跟就跟你說我會說英語還是會說中文

play08:06

但實際上你都要解決一些具體的問題

play08:08

比方說你不管是用中文去點個外賣

play08:12

還是用英語去點個外賣

play08:13

這不都是點外賣嗎

play08:14

這就是領域性的問題

play08:16

那這個學語言

play08:18

其實它也有很多這樣的領域性問題

play08:20

比方說你用C語言去做UI

play08:23

還是用JavaScript做UI

play08:25

還是用LS去做UI

play08:27

做UI要有做UI這套東西對吧

play08:29

比方說我們知道SplitterUI

play08:31

這種叫聲明式的這種UI設計

play08:34

還有比方說在學LS裡頭有一個叫

play08:38

類似於Obeditc很多人流行的是用代碼來寫UI

play08:42

那實際上這個Obeditc裡還有個叫XIB

play08:46

就是用這種這個Interface Builder來創建一個UI

play08:50

就是工作UI其實就有好多種流派對吧

play08:53

那麼實際上如果你用的是同一個流派

play08:56

哪怕用的語言不一樣

play08:58

它們中間有很多東西都是通的很像的

play09:01

比方說再下來你不管用任何語言

play09:03

你其實都要解決一個數據庫的問題

play09:05

那麼你可以用Java去接MySQL數據庫

play09:09

你也可以用iOS去接

play09:11

就Obeditc去接或者Splitter去接

play09:14

你也可以用這個Python去接MySQL

play09:17

那麼雖然用的語言不一樣

play09:20

甚至這個大家用的這個MySQL的庫都不一樣

play09:23

但是實際上本質上一旦你涉及到了

play09:26

SQL語句那又一樣了對吧

play09:29

又是一樣東西

play09:30

再舉個例子

play09:31

比方說政策表達室

play09:33

你在處理一些複雜的文本的時候

play09:35

你都需要用政策表達室

play09:36

那麼政策表達室其實又分成

play09:40

基本上是兩大流派吧

play09:41

但是基本上就是每個語言

play09:43

在每個語言裡頭你用政策表達室

play09:46

這件事又很像

play09:48

就是實際上有很多很多

play09:49

比方說包括你要處理XML

play09:52

你要處理JSON

play09:53

你要處理這種文本文件對吧

play09:55

那又是一套習慣和工具等等等等

play10:00

就是說你在學習這個iOS編程的時候

play10:04

或者說你在學習這個Mac編程的時候

play10:08

你其實沒有必要一開始把所有都學會

play10:10

就比方說最簡單的那個例子

play10:12

我們當年招聘了一個程序員

play10:14

他其實沒寫過iOS程序

play10:16

他是寫Java的

play10:17

但是我看了他的blog

play10:20

我認為他是個很聰明

play10:21

而且很知道專業的人

play10:23

於是我就說

play10:24

如果你想來的話

play10:25

那我需要你去學一下iOS

play10:28

他說你要讓我學到什麼程度呢

play10:30

我說很簡單

play10:31

你給我做一個最簡單的日記軟件就行了

play10:35

對吧

play10:35

當然這個日記軟件至少你得有list

play10:38

一天天的list和這個具體的一個日記

play10:41

他就做了一個效果很好

play10:43

那麼這個日記軟件

play10:45

其實你可以不帶數據庫

play10:48

也可以做出一個來對吧

play10:49

你也可以用數據庫做對吧

play10:51

你可以做的非常複雜

play10:53

你可以做的非常簡單

play10:54

他做了一個非常簡單的

play10:56

我就理解了

play10:56

我覺得說你的學習能力完全沒有問題

play10:59

我不會說

play11:01

那麼既然你做了一個日記軟件可以用

play11:04

但是我要求你什麼什麼功能都得加進去

play11:07

實際上今天你做一個就是共享軟件

play11:10

或者叫這個獨立開發者

play11:12

你也不用對SwiftUI iOS的每一個細節都了解

play11:17

對吧 這實際上是個簡單的

play11:19

再下來

play11:19

我認為是一個學習漸進的問題

play11:21

其實我的學習方式和很多人不太一樣

play11:23

就是我不是那種好像看完一本書

play11:27

把一本書全看完了才開始寫程序

play11:29

我的邏輯是我喜歡的書是說

play11:31

我看一張就可以寫程序的這種書

play11:34

比方說第一張他是講基本語法對吧

play11:37

那我開始就可以拿這個基本語法寫一些最簡單的代碼

play11:41

當然可能今天你寫不出UI來對吧

play11:44

那比方說你開始教我UI了

play11:45

我馬上就拿它做個計算器

play11:47

你可以設計一個非常簡單的這麼一個工程

play11:52

一個計算器又不涉及到任何的數據庫對吧

play11:55

也不涉及到網絡

play11:56

也不涉及到這個這個這個這個正德表達式對吧

play12:00

那我做個計算器

play12:02

證明我已經學會了這個UI行不行

play12:05

點了這點了那

play12:06

那可以可以把兩個變量加在一起得到一個

play12:08

把一加一等於二這種東西做出來

play12:11

是不是可以這樣

play12:12

就是我覺得你是可以有學習漸進的這麼個過程

play12:15

事實上比方說舉個例子

play12:17

如果你是一個UI設計高手對吧

play12:19

其實歷史上有很多人做了一個好看的計算器就賺錢了

play12:24

那他需要懂數據庫嗎

play12:26

不需要他需要懂網絡嗎

play12:28

不需要就是就是實際上我認為就是你學習東西的時候

play12:31

其實可以這麼學

play12:33

那麼或者其實我們有一個詞啊

play12:35

就是這個詞叫持續集成

play12:38

你就算做一個非常複雜的軟件

play12:41

非常複雜的APP

play12:42

其實你也可以用一種持續集中的方法來做

play12:45

有一種方法就是說我今天開始做A模塊B模塊C模塊

play12:49

我設計了一個非常複雜的APP對吧

play12:51

然後每塊都在寫

play12:53

但這個程序永遠都run不起來

play12:55

因為必須得所有部分都寫完才能run起來

play12:57

還有一種做法很簡單

play12:59

我先做一個沒有網絡功能

play13:01

沒有任何復雜功能的計算器

play13:03

他第一天就可以上App Store去賣

play13:05

但是呢

play13:07

我最終的目標是個非常複雜的計算器對吧

play13:10

但是我可以一點點的做

play13:13

我一開始就是一個很漂亮的

play13:15

大家覺得很可愛的計算器就可以用了對吧

play13:18

但是下來說有人說你這個計算器真好用

play13:22

但是你支不支持貨幣兌換呢

play13:25

對吧

play13:25

你能不能讓我知道一美金是多少人民幣呢

play13:29

或者說39.67美金是多少人民幣對不

play13:32

對這 是一個有的計算器就帶這種功能

play13:34

就是貨幣計算器

play13:35

那麼這時候其實你就得有數據

play13:37

不是你就得有網絡功能

play13:39

因為你要從網上抓這個

play13:41

你得去找一個匯率API去把它抓過來

play13:43

然後才能做到對不對

play13:45

那麼再复雜一點

play13:46

比方說我想做一個帶記賬功能的計算器

play13:49

那麼你得留一定的歷史記錄對吧

play13:52

或者是像Excel表格那樣留

play13:54

或者是怎麼樣留一個歷史記錄對吧

play13:56

或者帶一個這個

play13:58

記這個消費的那種就是這個出入賬

play14:02

就是這種這種這種手賬的這種東西

play14:05

那麼那你是不是就得有數據庫了呢

play14:07

那麼其實就是沒有數據庫

play14:09

沒有網絡的計算器也可以是個產品哦

play14:12

對不對

play14:13

所以所以比方說就是

play14:15

所以我的意思就是說今天去學東西的時候

play14:19

我覺得你最好有一種持續集成的概念

play14:23

去去學習東西去做一個APP

play14:26

你就是個初學者

play14:28

你就算不懂數據庫不懂網絡

play14:30

你也可以先做一個不帶數據庫

play14:33

不帶網絡功能的APP

play14:34

然後你再去學習什麼叫網絡通信

play14:37

什麼叫數據庫怎麼把它加進去

play14:39

一點點的變得越來越複雜

play14:42

第二個問題

play14:42

其實我們講技術精進

play14:43

其實也是這樣的一個概念

play14:45

就是說我覺得今天呢

play14:48

我們想學任何一個東西

play14:50

我傾向於你不要學一種

play14:52

好像我不學一年

play14:53

這東西是不叫學會的這種概念

play14:56

而是你學一個東西

play14:57

你可以有一個順序

play14:58

可以有個方法

play15:00

我給大家舉個最簡單的例子

play15:01

其實我最早開始做iOS開發就是09年

play15:06

09年蘋果發布那個SDK

play15:08

我馬上就給我的在美國的朋友

play15:11

那個時間點都沒法拿中國的銀行卡去買這個

play15:15

這個蘋果的開發者賬號

play15:17

我就讓他說請他幫我買

play15:20

他直接花了一百美金幫我買了

play15:23

就是我都沒還他錢

play15:24

後來我們倆關係就這麼好

play15:26

就就直接幫我買了個賬號

play15:28

然後我要幹的事是什麼呢

play15:30

我說哎

play15:30

我想記賬

play15:32

我想做一個iOS記賬軟件

play15:34

所以在那個時間點我就開始學怎麼寫iOS程序

play15:38

實際上我就是這麼做的

play15:40

跟這個記賬軟件沒關係的東西

play15:42

我暫時都不學

play15:43

我都不管

play15:44

反正我先從記賬學起

play15:46

然後這個記賬人就做了大概兩個多星期還是三個星期

play15:50

這個軟件還沒做完

play15:51

這個時候就是有到此點

play15:53

他們就開始想做iOS版的有到此點了

play15:56

但他們找不到程序員

play15:58

他們當時有兩百個程序員

play16:00

其實他們之前都有Mac版

play16:02

但是沒有人做過iOS

play16:03

Mac版那個程序員後來也離職了

play16:06

他們就是完全不知道誰可以做iOS

play16:08

他們找到我

play16:09

然後他們的這個副總就跟我喝了

play16:11

吃了頓飯

play16:12

然後就問我能不能幫他們做

play16:14

我就說好吧

play16:15

然後我就開始研究怎麼做一個詞典

play16:18

就是我已經大概知道怎麼做一個記賬軟件了

play16:21

其實怎麼做一個詞典

play16:22

我還不知道

play16:23

其實也沒有那麼難了

play16:25

詞典最早的iOS版的有到此點非常之簡單

play16:28

就上面有個查詢框

play16:30

你搜索一下

play16:31

然後呢

play16:31

得到一個這個這個就是你隨便寫個寫個A

play16:35

比方說A打頭的

play16:37

或者說帶A的這些所有的這些這個單詞就列出來

play16:41

然後你點其中一個單詞

play16:43

然後就就得到這個單詞的示意

play16:45

其實無非就是就是有一個這個叫所謂的索引表

play16:49

就是一個一個字母和一個索引的表

play16:52

這個其實就是有一個排序的這個這個單詞表

play16:56

然後在裡頭進行一個二分查找

play16:58

你寫進任何一個A也好

play17:00

或者你寫了個AB也好

play17:02

或者你寫了一段話

play17:03

我給你查找出來

play17:05

但包含這個這個這個這幾個單詞的這麼一個

play17:09

包含這幾個字母的這個單詞嘛

play17:11

對吧

play17:12

然後你點了一個具體的單詞以後呢

play17:15

實際上就是查一個庫

play17:16

把這個示意查出來

play17:17

然後當時還包括一個從網絡上抓取有道提供的一個API

play17:22

然後得到一個單詞發音的功能

play17:24

還有個什麼功能

play17:25

反正當時的第一版其實超級簡單

play17:27

但是我當時也剛剛學LS編程

play17:31

而且同時他們的這個有道詞典當時做的這個這個這個這個

play17:38

他們他們當時的移動版是Java版

play17:40

所以他們只有一個在Java代碼下可以讀取的這麼一個數據結構

play17:45

就是一個詞典文件

play17:47

然後包含了一個Java G2ME去讀這個數據文件的這麼一個一個一個代碼給我說你看我

play17:53

這是我們的詞典

play17:55

你要把這個詞典嵌到iOS程序裡頭

play17:57

同時你要把它讀出來

play17:58

那我怎麼讀

play17:59

那我很簡單

play18:00

我就把它那個G2ME的代碼翻譯成了iOS代碼

play18:04

一行行的翻譯

play18:05

這是兩種完全不同的語言

play18:06

但是我兩個語言都會

play18:08

所以我就一行行的理解就翻譯

play18:10

翻譯出來以後

play18:11

其實兩種語言有中間很多差異

play18:13

所以這個算法還有一些問題

play18:15

再做了一些調整

play18:16

最終就把這個東西做出來了

play18:18

在那個時間點

play18:18

其實iOS很多其他功能我都不知道

play18:21

但是我已經知道怎麼做一個詞典了

play18:23

就這樣的就是這樣做

play18:25

所以我認為技術的精進其實也這樣

play18:28

就是說特別是如果你的目的只是做一個獨立開發者

play18:32

很多東西你不懂真的沒有關係

play18:33

只要你focus在你的業務上

play18:36

你把你的業務打穿打透就可以

play18:40

對吧 你不懂其他的無所謂

play18:42

比方說今天已經有Vision Pro了

play18:44

那麼你做的東西就跟Vision Pro沒關係

play18:46

就是蘋果那個眼鏡對吧

play18:48

那麼你不懂Vision Pro的API無所謂

play18:50

你這樣可以把一個iOS App和一個Mac App給做好

play18:53

所以我覺得技術精進其實也是這麼個道理

play18:56

就是說當你特別是當你

play18:58

如果你從做一個獨立開發者的角度上

play19:01

當 你已經有用戶 了

play19:03

當你要不斷的去滿足用戶的各方面的需求的時候

play19:08

你就不得不去精進自己

play19:10

我覺得這是一個跟用戶共同成長的這麼一個概念

play19:15

再下來其實這個產品選擇的問題

play19:18

就是說我覺得這個其實可能是獨立開發的一個核心問題

play19:22

就是說今天還有哪些App有機會

play19:26

怎麼去做一個App能得到市場

play19:29

其實我覺得做獨立App

play19:31

獨立開發和在公司裡上班最大的區別就是

play19:34

在公司裡上班

play19:35

實際上就是老闆讓你幹啥你就乾啥

play19:37

你其實不用走腦子對吧

play19:40

做啥都行

play19:41

反正就是老闆要什麼就是什麼

play19:42

那這個東西能不能賣動

play19:44

是老闆是銷售部是市場部的事情

play19:48

其實跟程序員的關係並不大

play19:50

有的時候我們程序員經常也會想說

play19:53

這樣一做這個程序就能賣

play19:55

這個App就能賣的更好

play19:56

實際上很多時候你的同事並不一定相信

play20:01

你作為一個程序員的直覺對吧

play20:03

這個沒辦法

play20:04

那麼但是如果你一旦做到獨立開發了以後

play20:08

這個就變成非常核心的問題

play20:10

甚至很多時候

play20:12

就是說你能不能做出更漂亮的App

play20:15

在App Store上

play20:16

其實App Store是一個非常看臉的世界對吧

play20:20

如果你的App非常漂亮

play20:22

就很容易被App Store推薦

play20:25

被App Store推薦

play20:27

可能是你能得到的最好的推廣App的一種方式

play20:30

當然一般人只能偶爾被推薦

play20:33

那一次兩次可能量也不行

play20:35

如果你做的App每個都能被推薦

play20:37

而經常被非常重要的位置推薦

play20:39

那得到的能量就非常大

play20:41

那麼做一個App有很多種選擇

play20:43

就是說你到底要解決什麼問題

play20:46

那麼你解決的這個問題是

play20:47

可以獲得很大的裝機量

play20:49

是個工具類的需求

play20:51

還是一個它有很強的敏感性

play20:54

用戶每天都要用的東西

play20:56

或者說它跟你有數據的積累

play20:59

它不停的需要使用你

play21:02

還是說你這是一個

play21:04

用戶量可能不大

play21:05

但是每個用戶都樂於付很高的價格

play21:08

十幾美金二十美金甚至一兩百美金的產品

play21:12

其實我覺得如果你想做好這個事

play21:14

你可能需要到國外的各種各樣的網站去看

play21:18

別的獨立開發者是怎麼做的

play21:20

很多時候很多人就是找到一個自己獨特的領域

play21:24

才能做起來對吧

play21:27

今天我可能我懷疑

play21:30

這位點播的朋友或者大家可能會希望我一行行的去講代碼

play21:35

或者這個地方怎麼去那個地方

play21:36

其實我就很難跟大家講這個東西

play21:38

因為在我看來就是說

play21:41

今天已經不是那麼時代了

play21:42

其實你今天有Stackflow

play21:44

你有ChatterDBT

play21:46

我剛才講的這種學習方式其實變得越來越簡單

play21:49

就是上來說我要做一個什麼APP

play21:53

讓ChatterDBT說這個APP應該怎麼做

play21:55

甚至你可以說UI該怎麼設計

play21:57

你都可以問他

play21:58

問完了以後你就說那我現在要打開一個文件怎麼寫

play22:02

對吧 打開這個文件以後

play22:03

我想把這個文件的內容讀取到內存裡該怎麼寫

play22:06

就是你可以一步一步的問他

play22:08

你就完全可以講

play22:09

或者說我現在想按個按鈕

play22:11

就換一個界面對吧

play22:12

就打就就推出一個界面

play22:15

然後我想在這裡頭輸入文字對吧

play22:17

輸入的文字我想存儲下來

play22:19

我想存到某個數據庫

play22:21

你都可以問

play22:22

ChatterDBT就可以教你

play22:23

就是當然這個不能代替你自己的思考

play22:26

你自己的努力

play22:29

但是它可以把你很多事物性的問題

play22:31

或者說很多初學者非常容易被卡住的

play22:34

有一些書講的不明不白的

play22:37

就是書最大的問題

play22:39

今天我們可以說書最大的問題就是他覺得他講清楚了

play22:43

有的時候你照著他做

play22:44

你可能做不對

play22:45

對吧 今天有了ChatterDBT

play22:47

你就可以你就照著他做

play22:49

你就照書上做

play22:50

或者照ChatterDBT說的做

play22:52

如果不對

play22:52

你可以直接再問ChatterDBT

play22:54

他就像個老師一樣

play22:55

他是可以教戶的

play22:56

他跟以前的書不一樣

play22:58

那書上講這個東西

play22:59

你照著做

play23:00

最後做不出來

play23:01

你沒法去問

play23:02

你去問作者

play23:02

那效率很低的

play23:04

作者不見得能理你

play23:05

或者說作者不知道還在不在

play23:08

對吧

play23:08

最後核心問題就是營銷和運營

play23:11

對吧

play23:11

我覺得營銷其實是獨立開發的一個最核心的問題

play23:17

當然我覺得營銷就是從產品選擇開始的

play23:20

你首先要選一個有機會的產品

play23:23

才有可能把它做好

play23:25

這個可能包括很多很多的細節

play23:28

我覺得比方說

play23:29

如果你要出海做一個海外的產品

play23:32

用戶不是中國人

play23:33

這就是一個非常大的難點

play23:35

其實我覺得我一直都面臨這個問題

play23:38

就是我覺得我總是有一個中國人的思維

play23:42

然後另外我又會覺得我有一個極客的思維

play23:46

其實普通用戶和極客是完全不一樣的

play23:50

我給你舉一個非常簡單的例子

play23:52

就是說有很多掙錢的APP

play23:56

我沒法具體舉例子了

play23:58

因為我最近沒有怎麼做這樣的研究

play24:01

你可能作為一個極客

play24:02

或者你可能作為一個程序員

play24:03

你會覺得會有人需要這樣的APP嗎

play24:06

這不是誰都能做的事情嗎

play24:08

或者說這不是這麼簡單嗎

play24:10

但實際上一個真正需要這個APP的人

play24:13

他會覺得說這東西太好用了

play24:16

就是你不能用一個你的想法去理解這樣的問題

play24:20

很多程序員他容易陷入到這樣的問題

play24:22

但是我覺得很多轉碼的人

play24:25

有時候反而不是這樣

play24:26

因為他不知道什麼東西

play24:29

在程序員看起來是容易的

play24:31

他就是想把這個東西實現

play24:33

如果他的想法非常清晰

play24:35

然後他又能代表某些用戶需求

play24:38

他有時候反而能做出一些非常有意思的東西來

play24:41

所以有的時候你是個程序員反而是個障礙

play24:44

就讓你覺得好像這東西這麼簡單

play24:46

怎麼會有人需要呢

play24:47

或者這東西這麼簡單

play24:49

怎麼會有人需要呢

play24:50

但實際上很多人不像你這麼極客

play24:54

如果沒有一個簡單易用的APP

play24:56

他就是解決不了這些問題

play24:58

對吧是這樣的一個概念

play24:59

所以第一個事還是選擇好產品

play25:01

第二個呢

play25:02

其實如果你要做好Mac或者iOS的這個這個

play25:06

這個這個獨立開發者

play25:09

你可能可能要考慮的一個大問題是怎麼做SEO

play25:12

或者叫ASO

play25:13

SEO就是說你怎麼在你的網站

play25:15

你的blog或者說在Twitter

play25:18

或者在油管上對吧

play25:19

你怎麼去宣傳這個APP

play25:21

怎麼讓人知道有這個APP

play25:23

那麼ASO就是說你怎麼讓人

play25:25

App Store上一開始就收到你

play25:27

這當然有很多具體的技巧和方法

play25:30

我今天不可能挨個都講

play25:32

就是說我覺得因為這個

play25:33

這位兄弟點播的題目太大了

play25:36

就是可以做實際二期節目

play25:38

如果大家有興趣

play25:39

我們回頭可以未來每一個話題都去聊一聊

play25:41

但是有的我我自己做的也不行

play25:43

我也在思考對吧

play25:45

有的我做的還湊合對吧

play25:47

還有比方說就是說

play25:50

之前我有個朋友出了一本書

play25:52

叫叫 這個這個這個增長黑客

play25:55

增長黑客其實就是一種

play25:57

怎麼去通過一些方式方法

play26:00

用獨特的一些方式方法來

play26:02

獲得流量或者獲得用戶增長對吧

play26:05

那麼這個東西其實在

play26:07

運營界已經是顯學

play26:09

現在都甚至有點有點過了對吧

play26:12

就是就是很多人都在用各種各樣的增長黑客的方式

play26:15

但我覺得大家首先的核心問題是open mind

play26:18

要開放思路的去想這個問題

play26:20

對我來說吧

play26:21

比方說我自己在微博上有一定的影響力

play26:25

但是現在沒有了被炸掉了

play26:27

我在推特上有一定影響力

play26:28

我在油管上有一定影響力

play26:29

我就會用我的影響力去推廣產品

play26:33

但反過來我可能也會

play26:35

利用我是一個油管創作者這麼一個身份

play26:39

我來設計適合油管創作者想用的東西對吧

play26:43

所以你其實是要解決某一類人的問題

play26:47

比方說你要解決想管住自己的人

play26:50

比方說那你就是get things done

play26:52

就是to do list這種東西對吧

play26:54

想讓自己生活有規劃的這種人

play26:57

或者你想解決一個不會管賬的人

play26:58

那就是一個記賬軟件的問題對吧

play27:00

如果你想做一個減肥app

play27:02

那就是解決這些胖子的需求對吧

play27:04

最好你也是個胖子對吧

play27:06

或者是你是一個愛美的女士對吧

play27:09

所以你到底想做什麼

play27:10

決定了你怎麼去做

play27:12

有很多很多的細節

play27:13

那我覺得今天這期節目可能講太虛

play27:17

不可能滿足任何人的需求

play27:19

但沒關係如果大家有更細節的東西

play27:22

我們可以再討論

play27:23

大家可以留言對吧

play27:25

我們可以看看能不能再做這個內容

play27:27

如果有更多的人想看這個內容

play27:29

包括我們的會員如果有其他人想

play27:32

對更多的細節去了解

play27:34

我看我怎麼去聊這個話題

play27:36

好謝謝大家

play27:37

歡迎大家點贊收藏打賞對吧

play27:41

轉發我們的內容

play27:43

也歡迎大家加入我們的會員

play27:45

來提出你想讓我來去研究和去做的題目

play27:49

好謝謝大家這期節目做到這裡再見

Rate This

5.0 / 5 (0 votes)

Do you need a summary in English?