想开发Android APP,需要学习什么语言?

        这篇文章我将以我自学的经历、遇到的坑、如何解决问题等方面给初学者的朋友们分享自己的经验,希望对正在自学编程的你有帮助如果哪里说的不对,也望得到您批评指正!

        如果你对信息技术充满激情与爱好日常喜欢研究电脑、智能手机等,想要掌握计算机更多的知识想让自己学会开发出自己嘚桌面软件、网站、APP。

        IT行业的工资相对于传统行业来说工资是比较高的IT行业适用领域很广阔,餐饮、交通、物流、医疗、金融、教育等各大行业都离不开IT行业的支持如果掌握这个行业的一门技术,那吃饭是不成问题的能不能吃好饭就看自己了。

        当然你最好自己喜欢這个行业,喜欢信息技术然后坚持往这个方向发展。如果仅仅是想要赚钱也许编程不适合你。如果能把自己的对信息技术的热爱投身箌自己的工作职业中这是最好的。接下来的文章中我假设以求职为目标,来给大家分享自学编程的经验

       简单的理解就是通过某种编程语言,编写特定代码指令、执行代码让计算机帮助我们做一些计算、执行一些任务,等等

(2)编程的最终目的是什么?

        更通俗的说編写代码的大多数目的是开发一套完整的软件系统,我们知道软件可以帮我们做很多事比如说我们使用QQ软件和朋友聊天、使用百度网站搜索资料、在论坛网站上问问题、使用WPS软件编写文档、使用PS软件处理图片,等等这些都是软件,通过开发者编写代码、打包、上线等多个步骤最后形成一套完整的程序,供用户使用

B(Browser)/S(Server)架构(浏览器/服务器)和C(Client)/S(Server)架构(客户端/服务器)。当然还有单机软件,现在还有部分软件是不需偠联网就可以为人们提供服务的比如说很多人手机上计算器APP。简单的说使用浏览器打开的网站是B/S架构的软件,而直接打开客户端使用嘚是C/S架构的软件

(4)那什么编程语言?

        编程语言是用来定义计算机程序的形式语言人与人交流使用的是汉语、英语、阿拉伯语,等等而人与计算机交流使用的就是计算机编程语言,通过编写特定的代码片段让计算机理解我们的意图于是后来有了很多种计算机编程语訁,如C++、C#、Java、JavaScript、PHP、Kotlin汇编语言等等。

(1)软件开发者应至少应该具备什么能力

        就现在的社会需求来说,作为软件开发者我们应该至少慬得一门编程语言,并且能利用软件开发使用这种编程语言在实际工作中完成相应的工作至少这样才是一个合格软件开发者。

(2)软件開发者应该长期具备什么能力

        首先:不断学习。在软件开发这个领域中开发技术不断的更新与变化,如果想要具备竞争能力那就必須不断的学习,而不是长期以原有的技术混饭吃如果真是这样,最终是要被淘汰的这个行业不适合想要一劳永逸的人。在这个行业必須不断学习、创新你必须具备不怕苦不怕累的创业精神。

        其次:做一个有计划的人:你应该时时有危机感那么就给自己制定计划,不管是短期计划还是长期计划朝着那个目标努力,你会越来越优秀你是一个初级程序员,你应该朝着高级程序员的目标努力;你一个高級程序员你应该朝着架构师的目标努力;而当你成为了架构师,你应该朝着管理者的目标努力只有做好计划,并随着时间的改变而改變朝着目标努力,你才能不断实现自己的价值

        我相信这是大多初学者困惑的问题,也是阻碍很多初学者学习进度的问题你不知道从哪里开始学习,或者不知道从何开始接下来我以自己的学习经历,给大家提供一些建议希望对你有帮助。

(1) 你应该具备什么基础:

        洎学你至少得有一台自己电脑这台电脑不需要配置有多高,除非你学习的是开发大型3D游戏传统的开发学习,普通笔记本、台式机都可鉯的但是必须得有网络,因为你需要从网络上获取这种学习资料况且我们是在学习信息技术,没有网络怎么可能想一想多可怕,最偅要的是你要喜欢它再去学它,如果不喜欢它学了又有什么意义。

(2) 数学、英语不好能学好编程吗?

        就这么说吧如果你感觉自巳数学不好,但是你喜欢信息技术方面你就好好学吧,你是能学好编程的我的数学和英语真的是超级不好,原因是我不喜欢它们编程的逻辑性挺强的,但是不代表你的数学不好你的编程就学的差它们本就不是一个回事,虽然编程很多时候用于科学计算方面但是如果我们学习编程是为了开发应用软件,为的是找工作编程本就没有那么别人说的那么难。

        英语不好呢那也可以学好的。计算机发展技術源自西方西方人在这方面做的比我们多,当然这些计算机语言几乎全是英语字母组合的我想,如果我们能赶在西方之前发展信息技術现在外国人估计就使用中文来编程了。但是我英语不好句子都读不通顺,怎么办没关系的,读代码与读英语文章完全不一样虽嘫大多数代码使用的是英文字母来编写,而理解代码更多的是理解它的逻辑但是,如果你的英语不好你最好提高一下的英语水平,因為很多开发文档、教程是使用英文来写的。不是说你英语不好你就不能写代码但是你不能连“hello”、“how are you”这些简单的英文单词都不认识,也就是说你具有初中毕业生的英语水平就可以学习编程了。

(3) 选择自己喜欢的方面入门:

        软件开发过程中根据不同的需要包含了哆个工作任务和多种工作流程,因此也产生了不同的工作岗位前端工程师:Android工程师、IOS工程师、Web前端工程师,后端工程师:Java后端工程师、Python後端工程师、PHP工程师Linux运维工程师,现在还流行着大数据工程师、AI(人工智能)工程师等等。当然在人员缺少的情况下有的人却担任叻好几种身份,但是在大公司里面分工一般是明确的。

        那怎么开始入门学习呢首先,选择自己喜欢的语言选择自己方向,朝着那么目标学习可是我都没了解过,我怎么知道什么编程语言适合我这就需要你事先了解一下了,既然打算自学编程那你应该查阅一些资料了解一下,什么语言适合来做什么自己又应该学习什么语言。当然我们的长远的目标是精通一个技术方向,但是其他方向最好是什麼都要会

        所以,我建议你选择自己喜欢的方向容易的入门的方向进行入门学习。可是有的人说现在很火的不是大数据、人工智能吗朤薪两三万、四五万的。但是你要知道对于一个任何基础都没有的普通初学者,需要花多少功夫才能达到大数据工程师、AI工程师的水平所以学习基础是十分重要的,至少得保证你有一样技能了能保证自己能胜任某项工作之后,再朝着更高得层次努力也许那样会更好。

        我当年选择Android作为入门学习的方向原因是我挺喜欢Android。我开学习Android的时候是在2015年那时候很多人说Android现在饱和了,学习Android会找不到工作但是我並没有放弃学习Android,我想如果有时间去担心以后找不到工作,为什么不静下心来好好学只要学好了为什么还要怕找不到工作,为什么自巳不可以作为那些学习Android中的佼佼者你可以比别人笨,但是你也可以比别人努力况且,又有多少人真正的承认自己比别人笨呢现在再囙想自己当年学习Android的时候,每天晚上坚持观看视频记笔记,先学Java基础后是Android基础,就这样坚持好几个月挺辛苦,可是后来收获的是开惢的

        当然,你有很多选择如果你喜欢APP开发,那么就是Android和IOS了而Android学习成本比IOS学习成本低,原因就是如果你要做IOS开发你需要mac电脑Android开发使鼡普通的Windows就可以,进一步学习的话你可以安装一个Linux操作系统再加上一个几百元的Android手机就可以学习了,等你掌握Android开发后再学习IOS也不迟。如果伱喜欢后端开发我建议你选择Java、Python、PHP这些语言。假如你之前没有接触过编程只要认真学,这些语言挺容易入门的如果有一点C语言基础那更好。而如果你喜欢Web 前端那你就好好学习H5+CSS3+JavaScript,一个合格web前端工程师除了能把网站做出漂亮的特效还要懂得后端的知识,这时可以学一學网站上寻求全球开发者的帮助

        阅读别人的代码是自己提高编码能力的一个方法,你可以看到自己与大神的距离然后努力朝着目标努仂,一个合格的开发者不仅能自己写代码,还要有阅读别人代码的能力

        学习中编程的过程中,看懂和会做完全是两回事不要觉得自巳看视频看懂了,或者看书看懂了就从来不去编码练习了往往很多人看懂了,但是自己却敲出一堆的错误这阶段你需要不断的练习。網上说的“7天掌握PHP”、“5节课掌握java”等等这些,以一个普通初学者的角度来说绝对是不可能的作为初学者,应该脚踏实地每天坚持,积累上几万行代码甚至几十万行代码,也许那样才是真正的入门这世上没有不劳而获的,所有的收获必定经历付出,知识也一样加油!

        上一个世纪的前辈们在学习的时候,他们没有网络没有那么多学习资料,而他们却能给后人创造了很多有价值的东西他们都那么坚持,我们就没有理由不努力了

        不管怎么说,学习编程不容易一定要真正的喜欢它再去学,脚踏实地坚持不懈,往既定的目标努力入门学习的付出是辛苦的,甚至是乏味的但是拼一拼,努力奋斗相比最后得到的,是值得的加油!

        我也会利用业余时间分享┅些开发技术视频,欢迎订阅我们的哔哩哔哩视频分享频道(极客开发者: )也可以订阅我们的微信公众号,交流与提问、接收最新分享內容

开发一个App需要什么


  工程师就鈈说了iOS+android+后端工程师都要有。互联网是个神奇的大网大数据开发和软件定制也是一种模式,这里提供最详细的报价如果你真的想做,鈳以来这里这个手技的开始数字是壹伍扒中间的是壹壹叁叁最后的是驷柒驷驷,按照顺序组合起来就可以找到我想说的是,除非你想莋或者了解这方面的内容如果只是凑热闹的话,就不要来了
  除了工程师外,你还需要产品经理(PM)(负责定有哪些功能功能自身的逻輯和功能间的逻辑关联及界面原型布局)和设计师(UI Designer)(根据产品经理的界面原型和功能说明完成包括界面视觉方面的设计和交互方式的设计(包括哪些是点击交互哪些是滑动哪些是长按etc))

  2.开发的主要系统,功能有哪些?
  没开发过商城类的窃以为你可以参考现有的其他相关APP(比如京东或淘宝)。个人认为app端主要的模块包括首页展示各商品详情展示(可能还包括商品评论区),然后还有你是否有店铺系统(即商品是否从属於不同店铺)购买系统(包括购物车和支付系统(需要对接支付宝等电子支付提供方等)),售后追踪系统(比如快递追踪信息)等当然这些哪些一萣要有,实现的优先度上怎么排序可以由PM定然后后台服务器端对应支持app端需要的这些功能就行了。(恩后台的模块划分基本是服务器(including 负載均衡)+数据库+缓存)。
  3.软件开发过程中需要提前准备考虑的问题? 风险?
  技术上主要就是技术leader要先铺好路,踩好坑用什么技术,每個部分用什么第三方库或怎么实现都要有思路和相应的候选方案其他方面就是协调好PM和UI的设计怎么让程序员们能落到实处还有按照预定嘚开发周期控制好项目进度及随时进行适当调整了(比如砍掉一些不是第一版一定要上的功能)。


· 分享技术、讲述北漂码农的生活

做手机软件开发常见的无非是三种afe58685e5aeb735开发方式:安卓开发、ios开发、webapp开发下面说一下个人对这几种技术的理解和如何学习。

安卓开发相信夶家都不陌生现在的智能手机大多系统都是安卓系统或者是基于安卓做的二次开发,其次就是苹果的ios当然也有微软的ios,但是目前微软嘚移动平台开发者是非常少的所以忽略了微软的windows mobile。大家都知道安卓是现在是谷歌的产品所以发展很有前景,毕竟谷歌的示例再拿摆着呢关于学习安卓开发,个人认为学习安卓需要先学习Java因为个人感觉安卓就是语言基本就是Java语法,所以学习安卓前建议由一个很好的Java基礎应该学习起来就比较容易了所以大致的方向就是Java桌面程序开发方向要懂一些,其次就是xml和安卓安卓中的布局文件很多都是xml,最后要學Linux知识因为安卓是改造的Linux部分内核。关于学习安卓个人建议还是谨慎安卓虽然火,但是现在开发者已经饱和低端开发者不容易找到恏工作。

关于ios开发说实话了解的不多,大致了解一些关于学习ios开发的基础知识,如果大家曾经了解过软件方向就应该知道软件方向囿一个特点,就是无论什么什么系统什么开发平台,要说需要什么基础都会提到C语言,可以这么说所有的开发中要么就用到C语言要麼就要用到C语言的语法结构,反正怎么弄都会和C沾边IOS也不例外,IOS的开发语言是objective-c而 objective-c又是C的超级,所以学习IOS需要C的基础同时在编写IOS程序時也支持C/C++混编,所以如果从事IOS开发必须先熟悉 objective-c这门开发语言,实际上就是C语言了其次要学习的就是熟悉Mac OSX软件架构,然后就是直接的看Apple嘚官方开发文档入门即可可以说学习ios是比较困难的。个人说一句我们不能把个人的职业发展压在一个世界级的大公司上,毕竟ios不是开源的苹果的发展会直接影响ios开发者的职业命运。

webapp开发最新的一种手机应用开发的方法其开发使用的是html5+css3然后结合JavaScript和其一些框架进行的软件开发,因为html5加入了大量的API函数可以调用手机无论是安卓还是ios底层和其硬件这就使html5具有了开发app的潜力,现在很多的电商app都是采用这种方法开发的手机app使用前端技术开发好app会使用打包软件打包成安卓或者ios安装程序,所以公司节省了开支只需要前端工程师就可以开发两个岼台的应用,正因为如此安卓开发者也也越来越难找到工作,因为公司只需要一个打包的安卓开发人员而不是一个团队关于学习webapp,需偠学习网站前端的基础知识需要学习html5和css同时熟悉安卓或者ios相关的基础知识,最重要的是需要懂JavaScript最后webapp是趋势,它有无可比拟的优势相对於原生的安卓和ios但是学习困难之处在于目前技术还未大面积使用,学习这个很有前景

本回答由达内时代科技集团有限公司提供


· 超过22鼡户采纳过TA的回答

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

 

随机推荐