偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

在著手開發(fā)一款移動應(yīng)用之前,我們需要考慮哪些因素?

譯文
移動開發(fā)
移動領(lǐng)域自2007年iPhone首度面世以來發(fā)生了一場革命性的轉(zhuǎn)變。2008年,蘋果公司發(fā)布了其原生SDK(即軟件開發(fā)工具包),這無異于給整場革命添加了新的燃料??焖偻七M到今天,市場上的移動應(yīng)用程序已經(jīng)多達數(shù)百萬款,面向數(shù)十種平臺并伴隨著數(shù)不清的移動開發(fā)框架、平臺以及工具方案。

【51CTO.com快譯】創(chuàng)建移動應(yīng)用程序的方式可謂多種多樣,那么哪種方式最適合我們?這需要具體問題具體分析。您對于哪類技術(shù)最為熟稔?您的目標平臺是什么?您打算投入多長時間來構(gòu)建自己的應(yīng)用程序?這一切都會給具體選擇造成巨大影響。

 

[[162493]]

移動領(lǐng)域自2007年iPhone首度面世以來發(fā)生了一場革命性的轉(zhuǎn)變。2008年,蘋果公司發(fā)布了其原生SDK(即軟件開發(fā)工具包),這無異于給整場革命添加了新的燃料??焖偻七M到今天,市場上的移動應(yīng)用程序已經(jīng)多達數(shù)百萬款,面向數(shù)十種平臺并伴隨著數(shù)不清的移動開發(fā)框架、平臺以及工具方案。

那么我們該如何選擇適合自己的移動應(yīng)用開發(fā)方案?今天的文章正是為了回答這個問題而出現(xiàn)。我們將一同探討目前市面上常見的幾種移動應(yīng)用程序類型,了解原生與混合應(yīng)用程序的各自優(yōu)勢,同時羅列幾種***人氣的常見移動平臺。

應(yīng)用程序類型

移動應(yīng)用程序可以分為以下三大常見類型:

· Web應(yīng)用程序

· 混合應(yīng)用程序

· 原生應(yīng)用程序

其中每一種類型都有著自己的優(yōu)勢與缺點。如果大家想了解哪種類型最適合自己的需求,那么我的答案還是那樣,“具體問題具體分析”。為了證明自己的結(jié)論,我首先要跟大家一起聊聊每種應(yīng)用程序類型。好了,就從Web應(yīng)用程序入手吧。

Web應(yīng)用程序

大家對于Web應(yīng)用程序可能已經(jīng)非常熟悉。Web應(yīng)用程序從本質(zhì)上來說跟網(wǎng)站并沒有什么本質(zhì)區(qū)別,只是在操作與體驗方面更接近于應(yīng)用程序。在iOS SDK于2008年出現(xiàn)之前,Web應(yīng)用程序是開發(fā)人員們?yōu)樵鷌Phone開發(fā)應(yīng)用時的惟一選項。

Web應(yīng)用程序擁有一系列顯著估摸,其中最重要的一項就是理想的開發(fā)周期。由于Web應(yīng)用在本質(zhì)上就是一種網(wǎng)站,因此其一次構(gòu)建之后即可在任何能夠運行網(wǎng)絡(luò)瀏覽器的平臺上加以訪問。對于部分企業(yè)而言,這是一種非常理想的解決方案——因為正如我們在下文所要提到,原生開發(fā)工作在成本上非常可觀而且需要投入大量時間。換句話來說,Web應(yīng)用的***特色就是具備跨平臺運行能力。

其另一大優(yōu)勢在于,Web應(yīng)用程序在開發(fā)方面擁有非常友善的學(xué)習(xí)曲線。要開發(fā)一款Web應(yīng)用,大家只需要運用自己早已熟知的Web技術(shù)即可——包括HTML、CSS以及JavaScript。通過這種方式,幾乎用不了多少時間我們的移動應(yīng)用即可順利啟動并上線。

太棒了!那么Web應(yīng)用程序的劣勢何在?這個嘛,這類應(yīng)用確實存在幾大劣勢,其中最重要的兩點就是性能較差而且無法訪問設(shè)備的固有功能。如果大家打算開發(fā)一款游戲,那么Web應(yīng)用程序顯然不會是各位的***選項。雖然不是實現(xiàn)不了,但Web應(yīng)用的性能表現(xiàn)并不穩(wěn)定。網(wǎng)站或者說Web應(yīng)用也沒辦法訪問到設(shè)備中的固有功能,例如攝像頭、地理位置服務(wù)以及其它一些既定機制。雖然我相信未來幾年中這類局限會得到有效緩解,不過就目前而言其仍然無法在這方面與原生應(yīng)用程序相匹敵。

因此,如果大家不想拿出大量資源對自己的移動應(yīng)用程序進行開發(fā)與維護,而且不太關(guān)注其性能表現(xiàn),那么Web應(yīng)用程序無疑是最為理想的開發(fā)選項。

混合應(yīng)用程序

混合應(yīng)用程序過去以及現(xiàn)在都是非常流行的移動開發(fā)選項。這類應(yīng)用將Web與原生這兩大領(lǐng)域的各類優(yōu)勢加以混合,從而***程度發(fā)揮移動平臺的承載能力。用于開發(fā)混合應(yīng)用程序的相關(guān)技術(shù)方案能夠讓熟悉創(chuàng)建Web應(yīng)用、HTML、CSS以及JavaScript代碼的朋友輕松上手。因此只要了解了混合應(yīng)用的運作原理,大家都能很快打造出屬于自己的移動開發(fā)成果。

混合應(yīng)用程序在本質(zhì)上就是一款通過原生應(yīng)用中的網(wǎng)絡(luò)瀏覽機制作為交互界面的Web應(yīng)用。不過區(qū)別在于,混合應(yīng)用程序?qū)⒃鷳?yīng)用作為自身容器,從而保證其在外觀上與原生應(yīng)用高度接近。這意味著對用戶來說,混合應(yīng)用程序的視覺效果與使用感受都很像是原生應(yīng)用……至少在一定程度上非常相似。用戶們能夠從對應(yīng)平臺的移動應(yīng)用商店當中進行下載,而應(yīng)用程序圖標也會正確顯示在大家的設(shè)備主屏幕當中。

那么缺點有哪些?由于混合應(yīng)用程序高度依賴于Web技術(shù)并運行在網(wǎng)絡(luò)視圖當中,因此其存在著與Web應(yīng)用相同的種種弊端。其性能表現(xiàn)同樣無法與原生應(yīng)用相匹敵。不過需要強調(diào)的是,其性能表現(xiàn)每一年都在實現(xiàn)顯著提升。而且令人印象深刻的是,JavaScript代碼的性能表現(xiàn)在過去十年當中一直在不斷改進。

目前***人氣的混合應(yīng)用程序開發(fā)解決方案為Apache Cordova——或者簡稱Cordova。幾年前當Adobe公司收購PhoneGap時,他們對其中的大部分代碼進行了開源,而Cordova也由此誕生。PhoneGap目前仍然存在,并作為Cordova項目的商用表親健康運營。

為了提升開發(fā)速度,開發(fā)人員通常會將Cordova與其它框架配合使用,包括Ionic與Onsen UI等等。

原生應(yīng)用程序

選擇原生開發(fā)方式意味著我們更加關(guān)注性能表現(xiàn)與可靠性水平。那么為什么原生開發(fā)機制會嚇退那么多開發(fā)人員?讓我們以iOS平臺為例。如果大家希望構(gòu)建一款原生iOS應(yīng)用程序,那么首先需要學(xué)習(xí)一種新型編程語言——Objective-C或者Swift。另外,大家還需要熟悉Xcode的各項特性——也就是蘋果自家的IDE(即集成開發(fā)環(huán)境)。再有,原生應(yīng)用程序的構(gòu)建工作往往需要耗費大量時間,因為我們需要更多考慮設(shè)備自身的特性與契合程度。著眼于此,Objective-C以及JavaScript可說是兩種完全不同的語言。

那么我們能夠得到怎樣的回報?性能表現(xiàn)可以說是原生應(yīng)用程序最值得引以為傲的競爭優(yōu)勢了。原生應(yīng)用程序的使用感受更為順暢,特別是在游戲方面,因為其能夠發(fā)揮設(shè)備以及操作系統(tǒng)所提供的全部資源。再有,設(shè)備中的全部特性與功能都可通過SDK的API進行調(diào)用,這意味著開發(fā)人員的發(fā)揮空間更加廣闊。而這也是原生應(yīng)用壓倒混合與Web開發(fā)機制的另一大核心優(yōu)勢。

目前有著大量混合型方案,能夠幫助更多開發(fā)人員更為輕松地上手原生應(yīng)用開發(fā)工作。其解決方式非常簡單,我們可以選擇自己熟悉的語言進行代碼編寫,并將其編譯為原生應(yīng)用程序。在這一領(lǐng)域,當前***人氣的解決方案選項包括Xamarin與React Native等。

Xamarin允許開發(fā)人員利用C#語言為iOS、Android以及Windows Phone平臺編寫原生應(yīng)用程序。Xamarin工具采用Mono開源項目。在另一方面,React Native則源自Facebook,能夠幫助開發(fā)者利用JavaScript實現(xiàn)原生應(yīng)用程序編寫。

原生還是混合

那么到底哪種解決方案更值得考量?原生?混合?抑或是Web應(yīng)用程序?我給不出統(tǒng)一的答案,因為其具體取決于多項因素。如果大家身為一位開發(fā)者,那么答案可能就沒那么復(fù)雜了。您最為熟稔的技術(shù)是什么?您是打算讓自己的應(yīng)用立足于單一平臺,還是擁有多平臺運行能力?

事實上,同時著眼于iOS、Android以及Windows Phone已經(jīng)變得愈發(fā)具有挑戰(zhàn)性。很多開發(fā)人員都會面向多種平臺編寫原生應(yīng)用程序,但這么做真的非常艱難,我不建議大家將此作為***方案。移動領(lǐng)域的演進速度非常迅猛,而且我們幾乎不可能隨時保持對各類移動平臺的深入理解。如果大家決定走上原生應(yīng)用開發(fā)道路,那么作為***項目標,各位必須要對自己著眼的平臺擁有極為充分且深入的理解。是的,每位原生開發(fā)人員都應(yīng)該擁有這種能力。

有鑒于此,很多開發(fā)人員更傾向于選擇混合開發(fā)方案。如果您是一位經(jīng)驗豐富的Web開發(fā)者,那么絕對能夠立刻上手混合應(yīng)用開發(fā)工作——而無需任何學(xué)習(xí)或者適應(yīng)周期。Apache Cordova再配合上Ionic或者Onsen UI將能夠顯著提升開發(fā)工作的推進速度。

Web應(yīng)用程序也是需要留意的開發(fā)選項之一。不過Web開發(fā)擁有多種不同類型。通過創(chuàng)建Web應(yīng)用,大家用不著針對各系統(tǒng)平臺的官方應(yīng)用商店對自己的成果做出任何調(diào)整。過去幾年中,多數(shù)企業(yè)都會選擇這種較為省心的開發(fā)途徑。不過現(xiàn)在,如果大家擁有較為充裕的預(yù)算及可調(diào)配資源,那么原生及混合方案往往更受歡迎。

需要回答的問題

作為文章的收尾部分,我打算向大家提出幾個問題,而其具體答案將決定您對所謂“***移動應(yīng)用開發(fā)方式”的判斷。

性能表現(xiàn)是否重要?

如果答案是肯定的,那么原生開發(fā)將是您的***選項。而且如果大家打算開發(fā)的是游戲軟件,那么Unity絕對是不容錯過的理想方案。

跨平臺支持能力是否重要?

如果答案是否定的,那么原生開發(fā)將再一次勝出。而如果大家需要強大的跨平臺能力,那么混合原生或者混合Web方案則將成為***選項。另外,如果大家也需要保證自己的應(yīng)用成果具備理想的性能表現(xiàn)及設(shè)備功能支持效果,那么Xamarin或者React Native絕對不容錯過。

您的下一步發(fā)展目標是什么?

如果大家的目標是成為一名出色的移動開發(fā)人員,那么我的建議是選擇原生開發(fā)方案。當然,這只是我的個人觀點。我是名iOS開發(fā)者,而且我在可預(yù)見的未來不打算轉(zhuǎn)移到其它平臺。對于專注于單一平臺(包括iOS、tvOS、watchOS以及OS X),我能夠花時間讓自己熟悉該平臺并積累到更為豐富的開發(fā)經(jīng)驗。這一點對于移動開發(fā)工作非常重要,特別是確保自己的應(yīng)用程序具有強大的競爭優(yōu)勢以及卓越的用戶界面。

如果大家擁有Web開發(fā)背景,那么原生開發(fā)仍是個不錯的選擇。當然,如果大家需要的是能夠快速見效、快速推出的開發(fā)效果,那么混合或者Web解決方案在速度上確實更具優(yōu)勢。

總結(jié)陳詞

如果大家想要一個明確的答案,那么我恐怕讓各位失望了。如果各位還沒有拿定主意,那我建議大家對文章中提到的選項加以嘗試。上手Cordova或者認真看看與Swift相關(guān)的快速指南教程,然后問自己到底喜不喜歡這種開發(fā)風(fēng)格。千萬不要單純因為簡單或者快捷而選定目標開發(fā)方式??傊?,確保自己能夠充分享受這段旅程——因為這也正是開發(fā)工作的樂趣所在嘛。

原文標題:How to Create an App

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】 

責(zé)任編輯:李英杰 來源: 51CTO.com
相關(guān)推薦

2013-10-12 10:04:17

2023-03-30 16:18:00

智能PDU數(shù)據(jù)中心

2011-11-01 11:02:20

云計算云服務(wù)

2012-07-25 09:08:02

SaaS云計算云開發(fā)

2013-12-17 10:13:19

2018-07-27 10:46:47

存儲系統(tǒng)因素

2011-12-29 09:47:02

數(shù)據(jù)中心外包服務(wù)商

2018-09-06 11:20:24

CDNDDoS網(wǎng)站

2015-07-16 10:34:04

網(wǎng)絡(luò)設(shè)備服務(wù)器

2011-07-01 14:25:20

網(wǎng)站收錄

2014-09-06 19:05:33

移動應(yīng)用分發(fā)

2011-09-16 15:05:26

IOS應(yīng)用Trover定位發(fā)現(xiàn)

2016-10-24 18:31:11

初創(chuàng)企業(yè)

2015-05-18 16:53:56

OCZ

2015-06-26 09:27:14

Java調(diào)用性能

2022-04-24 11:49:01

物聯(lián)網(wǎng)安全制造業(yè)

2015-07-31 09:23:39

AngularJSWeb應(yīng)用

2011-05-13 13:07:46

數(shù)據(jù)備份速度

2014-03-17 15:16:02

移動開發(fā)iOS應(yīng)用

2018-08-27 10:10:03

點贊
收藏

51CTO技術(shù)棧公眾號