『壹』 學iOS開發和android開發哪個更有前途
學iOS開發和Android開發哪個更有前途?哪個更好學?這是目前很多想進入移動互聯網開發行業的朋友尤為關心的問題。目前Android和iOS可謂是現在手機操作系統中的兩大巨頭。隨著安卓手機和蘋果手機的越來越火爆,現在從事手機開發的人員越來越多。而且現在越來越多的iOS培訓機構、Android培訓機構也如雨後春筍般涌現出來,也進一步反映出了這兩個開發方向的主流趨勢。對於許多想從事手機開發的人員,是選擇學習iOS開發還是Android開發陷入了不能自拔的糾結當中,下面IT培訓http://www.kmbdqn.cn/就從客觀角度來為大家分析下這兩個系統各自的利弊。
學iOS開發和Android開發哪個更有前途
ios培訓機構認為,物以稀為貴,由於ios的開發比較封閉,要想深入的學iOS,不僅僅是有Objective-C開發基礎,還要具備MacOS/Darwin、C/C++高級編程才能深入下去,所以入門相對難一些。不過,現在走在大街上,隨處可見蘋果手機,可以看出,蘋果的覆蓋率確實很高,雖然入門難,學習起來有一定的難度,但是iOS開發的高收入也是實在令人羨慕。
對於Android開發來講,Android的程序是開源的,而且Android操作系統上的各種應用開發,絕大部分都是使用JAVA來開發的,跑在Dalvik虛擬機上,一小部分使用NDK,上手相對容易,在市場上,android的公司非常多,用人持續處於供不應求的狀態,找工作相對比較容易。所以,在工資方面,Android開發的工資要低於iOS開發。對於基礎不是很好的朋友,可以選擇Android開發。
ios培訓機構認為,對於Android開發和iOS開發哪個更有前景這個問題要具體情況具體分析,因人而異,不能光看薪水高低和外界亂評。如果你JAVA基礎比較好,建議學Android;如果你C語言比較好,建議學iOS。不管你選擇學什麼,只要技術學扎實了,未來幾年都會很吃香,尤其是iOS,市場規范管理有序,做應用開發比較省心。最後,套用一位網友所說:「你的興趣才是你的心意,不可為做而做,那樣你就只是工具了。」
對於一些基礎比較差,但是又想從事Android開發或者iOS開發的朋友,小編建議大家可以考慮參加一些iOS培訓的Android開發培訓或者iOS開發培訓班,這樣可以讓自己在更短的時間內掌握最精湛的技術。
『貳』 Android和IOS開發圖標、啟動頁尺寸
最近項目在做android和ios的項目,設計師讓我給出圖標的尺寸,於是查了一下尺寸。
第一步:產品經理和UI設計師制定好UI規范,然後開始做圖標做顏色做尺寸等一系列和APP界面強相關的工作,以最常見的「back」按鈕為例,UI設計師從無到有的具體實現步驟:
①在coreldraw或者Sketch中製作好「矢量圖標「—返回,此時的長寬單位是毫米;
②保存輸出為「PNG點陣圖圖片」—返回,此時的長寬單位是px(像素);
③指定好此圖標的內外邊距,此時的邊距單位是px(像素);
④最終此圖標圖片交到開發者手中,做好圖片的放置和內外邊距的實現。開發這在這個過程中會遇到一個問題:內外邊距是由px為單位的距離,但是在實際開發中「dp」做為單位的更加常見,所以就會涉及到「px」「dp」互轉的封裝類,專門用來實現這個過程,同時還要注意不同解析度屏幕的適配。
(1)px,平常我們所說的手機的解析度是1920×1080,這就是像素數量,也就是1920px×1080px,代表手機高度上有1920個像素點,寬度上有1080個像素點,每個像素點的單位是px。
(2)dp,dp是為了開發者便於做不同屏幕的適配而引入的開發單位,具體來說就是為了使得開發者設置的長度能夠根據不同屏幕(解析度/尺寸也就是dpi)獲得不同的像素(px)數量。比如:我將一個控制項設置長度為1dp,那麼在160dpi上該控制項長度為1px,在240dpi的屏幕上該控制項的長度為1 240/160=1.5個px。也就是dp會隨著不同屏幕而改變控制項長度的像素數量。
(3)DPI,用戶實際判別手機屏幕的顯示好壞,除了解析度還要考慮屏幕的寬高(英寸),也就是用dpi,即每英寸多少像素來評價屏幕的顯示效果。(不然假如手機解析度是1920×1080,但是屏幕是幾十寸的,那顯示效果將不會很好,甚至你有可能看到小的像素塊,那將更影響視覺效果。)
三、Android開發中圖標尺寸總結(務必掌握):
(1)dpi、解析度與圖標尺寸的關系L DPI ( 120 DPI )—解析度240 320px,其啟動圖標大小為 36 x 36 pxM DPI (160 DPI )—解析度320 480px,其啟動圖標大小為 48 x 48 pxH DPI ( 240 DPI )—解析度480 800px,其啟動圖標大小為 72 x 72 pxXH DPI ( 320 DPI )—解析度1280 720px,其啟動圖標大小為 96 x 96 pxXXH DPI( 480 DPI )—解析度1920 1080px,其啟動圖標大小為144 x 144 pxXXXH DPI( 640 DPI )—解析度3840*2160px,其啟動圖標大小為192 x 192 px
(2)開發中「px」到「dp」從 px 換算成 dp 要知道它是以什麼 dpi 標准來設計的,換句話說,就是要根據不用解析度的屏幕,根據換算關系表得到相應的 dp 。 例如: 以 xxhdpi 標准設計的 UI,其中一個切圖的解析度是 600 px * 360 px ,根據換算關系表可知,在 xxhdpi 標准下,1 dp = 3 px ,則其對應的 dp 是 200 dp * 120 dp 。換算關系表如下:(兩次標紅 請重點關注)
36 x 36 48 x 48 64 x 64 72 x 72 96 x 96 144 x 144 192 x 192
具體的圖標尺寸可以打開xcode ,在項目目錄下找到Assets.xcassets文件,這個文件裡面標識出了所需要的圖標尺寸,下面標識的是基本尺寸,2x就是底部尺寸x2 ,即下面的尺寸為80pt和120pt
看了一下新的蘋果開發文檔和Xcode給的AppIcon坑,發現又新增了一些尺寸的圖標。在這里整理一下最新的最全的icon尺寸。
itunes中使用的icon
1024 * 1024
iPhone: iOS7-10桌面圖標
60 * 60
120 * 120 @2x
180 * 180 @3x
iPhone: iOS5-6桌面App圖標
57 * 57
114 * 114 @2x
iPad: iOS7-10桌面圖標
76 * 76
152 * 152 @2x
iPad: iOS5-6桌面圖標
72 * 72
144 * 144 @2x
iPhone: iOS5-6的搜索 iOS5-10的設置
iPad: iOS5-10的設置
29 * 29
58 * 58 @2x
87 * 87 @3x
iPad: iOS5-6系統搜索圖標
50 * 50
100 * 100 @2x
iPhone、iPad: iOS7-10系統搜索圖標
40 * 40
80 * 80 @2x
120 * 120 @3x
iPhone、iPad: iOS7-10通知欄圖標
20 * 20
40 * 40 @2x
80 * 80 @3x
iPad Pro: App桌面圖標
167 * 167 @2x
iPhone匯總:
1024 * 1024
120 * 120
180 * 180
20 * 20
40 * 40
80 * 80
29 * 29
58 * 58
87 * 87
57 * 57 (iOS5-6)
114 * 114 (iOS5-6)
iPad匯總:
1024 * 1024
76 * 76
152 * 152
20 * 20
40 * 40
80 * 80
120 * 120
29 * 29
58 * 58
72 * 72 (iOS5-6)
144 * 144 (iOS5-6)
50 * 50 (iOS5-6)
100 * 100 (iOS5-6)
167 * 167 (iPad Pro)
APP啟動頁,即LaunchImages,需要五張不同尺寸大小的圖,切記一定要選擇png格式,否則打包時報錯,導致APP適配失敗。
五張圖的大小即:320 480、640 960、640 1136、750 1334、1242 2208 828 1792 1125 2436 1242 2688
分別對應的iphone屏幕尺寸:iphone 3GS、iphone4(s)、iphone5(c、s)、iphone6(s)、iphone 6(s) plus 、iphoneX(S)、iphoneXR、iphoneXs Max.
具體步驟:
第一步:
1.點擊工程目錄中的Images.xcassets,點擊左側邊欄的LaunchImages(如果沒有,在空白處右擊創建一個)
2.然後在xcode最右側的邊欄處選擇你的APP是否要對ipad、橫豎屏、以及低版本的iOS系統做支持。
第二步:
將填好的圖片配置到工程中的啟動頁選項中
點擊項目目錄的工程 -> target -> General -> App Icons And Launch Images
將Launch Images Source的選項設置為LaunchImages,切記當APP不是用LaunchScreen.xib來配置啟動頁時,LaunchScreen File的選擇狀態一定為空!否則編譯無法通過
如果此時還沒有顯示的話,那麼你先刪除app,然後再運行一下項目看看
參考網站:
https://blog.csdn.net/weixin_41101173/article/details/79644613
https://blog.csdn.net/it_male/article/details/80434269
『叄』 蘋果電腦(MacOS)上開發Android程序,兼容性如何
蘋果電腦上開發Android程序兼容性還是非常不錯的,具體開發步驟為:
1、安裝eclipse
因mac系統里自帶jdk,所以不需要再下載,也不需要在eclipse里配置jdk。
在eclipse官網上就有mac版的下載。網址是http://www.eclipse.org/downloads/.選擇第一個Mac版的Eclipse IDE for Java EE Developers。
2、安裝adt
可以網上查下離線安裝adt
打開eclipse - Help - Install New Software
插件地址是: http://dl-ssl.google.com/android/eclipse/
以上跟windows下是一樣的,就不多說了。
以前的eclipse並不支持retina屏幕,但目前最新的已經解決了這個問題。如果有同學還發現eclipse顯示模糊的問題,可以用試試以下兩種方法
一、在Eclipse.app上點擊右鍵 選擇「顯示包內容」 然後打開Contents文件夾 編輯 Info.plist。在dict的結尾標簽上添加一行
<key>NSHighResolutionCapable</key>
<true/>
二、可以使用神器,把所有不支持retina的app的改成支持retina,可以在威鋒網上搜索「Retinizer」
4.下載和安裝mac版的android tool
打開網站:http://developer.android.com/sdk/index.html 選擇Mac OS X 的SDK版本進行下載。最好存放在英文目錄下
剩下的都是跟windows一樣的。啟動後下載android各個版本的jar,並且在eclipse里配置
5.模擬器
因為android自帶的模擬器非常慢,所有有些windows上的同學會選擇第三方的模擬器。很不幸,mac上目前來說並沒有第三方模擬器。
android自帶模擬器因為是CPU是ARM的,所以才導致太慢。其實可以在android tools里下載Intel CPU的模擬器。
可以在android tools里選擇Intel
新建模擬器的時候,選擇Intel的CPU
實驗下來,速度提升不少。基本已經滿足日常開發(這一點也同樣適應windows)
6.真機調試(關於驅動)
令人高興的是,mac下的adt默認支持大部分的android手機,所以,一般手機連上mac,會自動在Device里顯示。
但一些不常見的,就不能顯示出來。而且mac跟windows不一樣,很難找到mac下的該手機的驅動。其實這不是驅動問題,而是adt不知道該手機的USB Vendor ID。可以通過另外一個方法解決
一、首先要下載一個app:IORegistryExplorer。通過這個app可以查看連接上的USB設備的信息。選擇IOUSB,可以看到名為「xxx」的設
備,找到idVendor
二、打開文件:~/.android/adb_usb.ini 。然後直接在最後一行加上idVendor的值
最後重啟adt,就可以在Devices里看到該手機的信息了。
『肆』 iOS+Android原生開發什麼意思
你好,原生(native)開發一般是指用原生開發語言開發,原生開發語言就是開發整個系統時使用的編程語言.對於iOS來說就是Objective C,對於Android來說...不太好說,因為Android用的Linux內核是用C開發的,中間層的庫是用C/C++開發的,但應用程序框架和應用程序都是用"Java"開發的,這個系統就是用一堆開源的工程拼起來的,真不太好說哪種語言算是它的原生開發語言原生App實際上是一種基於智能手機本地操作系統如Android、IOS和Windows Phone並且使用原生程序編寫運行的第三方移動應用程序。開發原生App軟體需要針對不同智能手機的操作系統來選擇不同的App開發語言,如安卓App是Java開發語言、IOS APP是Objective-C語言、Windows Phone的APP開發是C##語言。
如今市面上多數的APP軟體開發都是使用的原生程序編寫的應用程序,也就是說大部分的手機APP屬於原生APP應用軟體。原生APP因為位於平台層上方,所以向下訪問和兼容的能力也比較好,可以支持在線或者離線消息推送或是進行本地資源訪問,以及攝像撥號功能的調取。
原生App
原生APP又稱Native App,該開發針對IOS、Android、Windows等不同的手機操作系統要採用不同的語言和框架進行開發,該模式通常是由「雲伺服器數據+APP應用客戶端」兩部份構成,APP應用所有的UI元素、數據內容、邏輯框架均安裝在手機終端上。
原生App
1、每一種移動操作系統都需要獨立的開發項目。
2、每種平台都需要獨立的開發語言。Java(Android), Objective-C(iOS)以及Visual C++(Windows phone)等等。
3、需要使用各自的軟體開發包,開發工具以及各自的控制項。
原生App僅供參考
『伍』 iOS 開發好還是安卓開發好
iOS和Android各有各自的優勢。在系統體驗方面看個人的喜好選擇。iOS與Android互有優勢與劣勢,以下是iOS和Android簡單的比較:
1、iOS是封閉性系統,相對來說比Android安全,Android是開放系統,功能擴展強。
2、從配置過程來看iOS開發環境是非常完美,下載官方提供的Xcode之後直接安裝即可就可以開發。Android需要先下載Java環境,然後去Windows裡面做好配置環境,然後下載Eclipse這個環境再在裡面做各種復雜的配置操作才可以配置好開發環境。谷歌推出Android Studio開發工具後可以縮減配置過程,現在主流還是復雜的Eclipse為主,因此從配置來看iOS是比較簡單的,而Android是極其復雜的。
3、蘋果的開發環境是非常霸道,必須要用Mac電腦的OS X系統才可以開發iOS,Windows是無法做iOS開發的,除非做虛擬機,真正做iOS開發的時候是不可能用虛擬機搭建OS X來做開發的,這樣速度會及其緩慢,無法開發任何大型程序。Android雖安裝起來復雜,但具有很好的適應性,不僅能夠在Windows上開發,也能在Mac、Linux系統上開發,沒有任何問題。
4、Android在真機調試上就遠遠優於蘋果,Android開發者只需要打開調試開關就可以調試手機,iOS不同,iOS需要證書、描述文件、Apple ID、開發者賬號,搞半天才可以進行調試。
5、iOS的觸摸顯示做的非常的好,滑動很流暢。但性價比iOS沒有Android高。
iOS和Android平分秋色,哪一個也不可能獨占市場的。可能在使用體驗上,大家都會認為iOS會好一些。因iOS是開放的,會給大家一定的自由空間。就業薪資待遇方面iOS也是比Android偏高些的。
『陸』 Android開發和iOS開發那個更有前景如何選擇
就索性進行了一番調研,於是有了本文(本次不討論越獄的iOS) 首先從情感上,你喜歡哪個就好,就像百事可樂和可口可樂,當然這個比喻不是很恰當,因為可樂喝起來幾乎一樣,但是Android和iOS還是有很大差別的。 iOS來源於Apple的OSX,是UNIX系統,OSX已經有差不多10年的歷史,從內核底層到軟體架構都是逐步發展過來的。iOS使用ObjectivC這個古老的語言來做開發。而Android是Google基於Linux搞來的,嚴格意義上講Android並不是一個Linux系統,它沒有Linux的xwin,沒有glibc,缺乏一整套標準的Linux程序。Android應用絕大部分都是使用JAVA開發,跑在Dalvik虛擬機上(一小部分使用NDK)。 Google在底層也修改了很多東西。Android算是一個全新的操作系統。 所以: Android使用JAVA,上手容易很多,如果有很好的JAVA Lib加持,開發效率會高些 iOS沒有虛擬機, 也沒有GC,性能要好一些,當然這個差別會隨著Google的改進越來越小 iOS的開發框架很成熟,而且和MAC上通用,同樣的知識體系,也可以開發MAC應用,Android相比是全新的框架, 還會繼續進化。 iOS和設備緊密集成。軟硬體一家公司通吃。但是Android無法做到, 通常的情況是:Google放出源代碼。 晶元廠商需要1-3個月來做自己的晶元方案, 手機廠商從晶元廠商處買到方案和代碼, 進行自己的集成,定製工作,有時候還需要針對運營商進行定製。 所以: iOS的設備集成度和驅動優化都是最好的。電源管理一塊就可見一斑,而Android廠商就魚龍混雜。可能排頭的廠商的旗艦機器會好些,但是由於Android工期一般都比iOS設備短(請看HTC和三星出機器的速度),所以整體上和iOS比是有差距的。 由於有多家廠商自己做定製,Android還存在設備的分裂問題(fragmentation), 作為過來人,我告訴你這個是很頭痛的事情, 且不論調試時間和人力, 光買一大堆設備的成本就不小。最關鍵的是它會傷美工/UE的心。 iOS是被Apple嚴格控制的系統。 在大部分情況下, 第三方應用是無法拿到所有API的。 這意味系統級別的很多功能只有Apple能做(比如打電話,攔截簡訊)。此外一些涉及用戶隱私的API還會導致系統彈出對話框詢問用戶。 同樣第三方runtime做應用開發也是基本不可行的(Flash當初也是被這個條款拒過)。 反過來Android完全不一樣,首先Android是開源的,在設計上Android就允許自由替換系統組件, Android也沒有強制限制API的情況,(hidden API也可以call,沒有人會找你麻煩)。 系統級別的許可權是下放到廠商手中,如果廠商願意給,那第三方開發者就可以做任何事情。 普通應用的許可權認證也是在安裝的時候就一次性授權完成。 之後不會騷擾用戶。所以: Android平台可以做的事情遠遠比iOS多, 你可以做電話管理,地址簿,簡訊管理,可以自己跑後台service。 替換掉系統的組件非常容易 Android平台也可以跑其他系統的Runtime, 比如Flash, 有了NDK, 你要自己接入一個虛擬機也是可能的。Google不會管你 任何人可以拿Android自己改個獨立的系統出來,也許這樣做的意義和前景有問題,但是同樣,沒有人限制你 iOS上唯一的下載應用途徑就是Appstore,開發者做應用上線還要通過Apple審核,就算通過了,如果掛羊頭賣狗肉亂來或者調用了不該用的API, Apple一樣隨時可以下架。管理非常嚴格。反過來Android上非常鬆懈: 廠商可以內置應用。經常會扔一些莫名其妙的軟體預裝在手機上, 筆者在廠商的時候深刻體會到亂選軟體是很好玩的事情。而且我們不會讓你刪除掉的。 Google的官方菜市場不做應用審核,開發者上傳軟體很隨意,這是個自由市場。 國內還存在大量第三方軟體菜市場。以及豌豆夾類似的PC端管理軟體。 如果用戶選擇允許未知來源,那麼通過web下載或者安裝卡上的軟體也是可以的。似乎國內用戶都是允許的。所以: iOS上的精品軟體多,競爭激烈但管理有序,開發者也容易掙錢。 Android上雖然也有精品軟體,但是垃圾軟體更多, 甚至有惡意軟體。 因為無門檻,基本上軟體都是免費,賣不起錢, 大部分都靠廣告。 Android還有一堆殺毒軟體,這是典型的沒有困難,製造困難也要上的精神。 Android上還有一堆安慰劑軟體,比如能幫你省電的或者是幫你殺後台進程的來提升性能的, 筆者作為做過底層開發的人,笑而不語。 如果你是普通用戶,請關貼, 本文不是用來給普通用戶選機的。 如果你是一個個人軟體開發者, iOS適合你, 市場規范, 做應用省心。 如果你是一個軟體和服務的創業公司, iOS也是適合你做demo的和第一個產品的, 產品靠譜了,用戶在用了,有人給錢了,再往Android走也是可行的。 除非你做的應用要涉及硬體或者需要非常高的系統許可權, 如果是那樣你也只有選擇Android。因為國內的廠商肯定要比蘋果要容易談下來。 如果你是一個要做硬體和系統定製的公司, 那麼基本上你只有Android可以選。Android的解決方案的成本也在不斷下降。 如果你是一個有中國特色的公司,想搞點移動業務玩玩, 還要瞞著用戶做很多事情。 那麼Android也是更好的, 就算你不作惡, 控制權在自己手中也會方便運作一點。所經如何選擇,不用我多講,這兩個都是當今移動互聯網開發的方向,但是一個開源學習起來更容易,做東西更快,有絕對的控制權。一個不開源,只能做上層應用,但也可活的很好,就是這樣。