Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 亚洲bt欧美bt精品,99视频在线观看视频,国产亚洲精品激情都市

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          手機(jī)網(wǎng)站注意事項(xiàng)和總結(jié)



          、 安卓瀏覽器看背景圖片,有些設(shè)備會模糊。

          用同等比例的圖片在PC機(jī)上很清楚,但是手機(jī)上很模糊,原因是什么呢?

          經(jīng)過研究,是devicePixelRatio作怪,因?yàn)槭謾C(jī)分辨率太小,如果按照分辨率來顯示網(wǎng)頁,這樣字會非常小,所以蘋果當(dāng)初就把iPhone 4的960640分辨率,在網(wǎng)頁里只顯示了480320,這樣devicePixelRatio=2。現(xiàn)在android比較亂,有1.5的,有2的也有3的。

          想讓圖片在手機(jī)里顯示更為清晰,必須使用2x的背景圖來代替img標(biāo)簽(一般情況都是用2倍)。例如一個div的寬高是100100,背景圖必須得200200,然后background-size:contain;,這樣顯示出來的圖片就比較清晰了。

          代碼可以如下:

              background:url(../images/icon/all.png) no-repeat center center;   -webkit-background-size:50px 50px;   background-size: 50px 50px;display:inline-block; width:100%; height:50px;   

          或者指定 background-size:contain;都可以,大家試試!

          2、圖片加載

          若您遇到圖片加載很慢的問題,對這種情況,手機(jī)開發(fā)一般用canvas方法加載:

          具體的canvas API 參見:http://javascript.ruanyifeng.com/htmlapi/canvas.html

          下面舉例說明一個canvas的例子:

          <li><canvas></canvas></li>  

          s動態(tài)加載圖片和li 總共舉例17張圖片!

          var total=17;  var zWin=$(window);  var render=function(){  
             var padding=2;  
             var winWidth=zWin.width();  
             var picWidth=Math.floor((winWidth-padding*3)/4);  
             var tmpl ='''''''';  
             for (var i=1;i<=totla;i++){  
              var p=padding;  
              var imgSrc=''''img/''''+i+''''.jpg'''';  
              if(i%4==1){  
                p=0;  
              }  
              tmpl +=''''<li style="width:''''+picWidth+''''px;height:''''+picWidth+''''px;padding-left:''''+p+''''px;padding-top:''''+padding+''''px;"><canvas id="cvs_''''+i+''''"></canvas></li>'''';  
              var imageObj = new Image();  
              imageObj.index = i;  
              imageObj.onload = function(){  
                 var cvs =$(''''#cvs_''''+this.index)[0].getContext(''''2d'''');  
                 cvs.width = this.width;  
                 cvs.height=this.height;  
                 cvs.drawImage(this,0,0);  
              }  
              imageObj.src=imgSrc;  
             }  }  render(); 

          3、假如手機(jī)網(wǎng)站不用兼容IE瀏覽器,一般我們會使用zeptojs。zeptojs內(nèi)置Touch events方法,具體可以看http://zeptojs.com/#Touch events

          看了一下zeptio新版的API,已經(jīng)支持IE10以上瀏覽器,對zeptojs可以選擇使用!

          4、防止手機(jī)中網(wǎng)頁放大和縮小,這點(diǎn)是最基本的,最為手機(jī)網(wǎng)站開發(fā)者來說應(yīng)該都知道的,就是設(shè)置meta中的viewport

          還有就是,有些手機(jī)網(wǎng)站我們看到如下聲明:

          <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">

          設(shè)置了DTD的方式是XHTML的寫法,假如我們頁面運(yùn)用的是html5,可以不用設(shè)置DTD,直接聲明<!DOCTYPE html>。

          使用viewport使頁面禁止縮放。 通常把user-scalable設(shè)置為0來關(guān)閉用戶對頁面視圖縮放的行為。

          <meta name="viewport" content="user-scalable=0" />

          但是為了更好的兼容,我們會使用完整的viewport設(shè)置。

          <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />

          當(dāng)然,user-scalable=0,有的人也寫成user-scalable=no,都可以的。

          5、apple-mobile-web-app-capable

          apple-mobile-web-app-capable是設(shè)置Web應(yīng)用是否以全屏模式運(yùn)行。

          語法:

          <meta name="apple-mobile-web-app-capable" content="yes">

          說明:

          如果content設(shè)置為yes,Web應(yīng)用會以全屏模式運(yùn)行,反之,則不會。content的默認(rèn)值是no,表示正常顯示。你可以通過只讀屬性window.navigator.standalone來確定網(wǎng)頁是否以全屏模式顯示。

          兼容性:

          iOS 2.1 +

          6、format-detection

          format-detection 啟動或禁用自動識別頁面中的電話號碼。

          語法:

          <meta name="format-detection" content="telephone=no">

          說明:

          默認(rèn)情況下,設(shè)備會自動識別任何可能是電話號碼的字符串。設(shè)置telephone=no可以禁用這項(xiàng)功能。

          兼容性

          iOS 1.0 +

          7、html5調(diào)用安卓或者ios的撥號功能

          html5提供了自動調(diào)用撥號的標(biāo)簽,只要在a標(biāo)簽的href中添加tel:就可以了。

          如下:

           <a href="tel:4008106999,1034">400-810-6999 轉(zhuǎn) 1034</a>

          撥打手機(jī)直接如下

           <a href="tel:15677776767">點(diǎn)擊撥打15677776767</a>

          8、html5GPS定位功能

          具體請看:http://www.sj520.cn/listdetail/1/8227/2290.html(HTML5中GPS定位之getCurrentPosition)

          9、上下拉動滾動條時卡頓、慢

           body {     -webkit-overflow-scrolling: touch;     overflow-scrolling: touch; }

          Android3+和iOS5+支持CSS3的新屬性為overflow-scrolling

          10、禁止復(fù)制、選中文本

          Element {     -webkit-user-select: none;     -moz-user-select: none;     -khtml-user-select: none;      user-select: none; }

          解決移動設(shè)備可選中頁面文本(視產(chǎn)品需要而定)

          11、長時間按住頁面出現(xiàn)閃退

          element {     -webkit-touch-callout: none; }

          12、iphone及ipad下輸入框默認(rèn)內(nèi)陰影(iPhone尺寸)

          Element{     -webkit-appearance: none; }

          13、ios和android下觸摸元素時出現(xiàn)半透明灰色遮罩

          Element {     -webkit-tap-highlight-color:rgba(255,255,255,0) }

          設(shè)置alpha值為0就可以去除半透明灰色遮罩,備注:transparent的屬性值在android下無效。

          后面一篇文章有詳細(xì)介紹,手機(jī)網(wǎng)站點(diǎn)擊鏈接觸發(fā)顏色塊的問題解決:地址:http://www.sj520.cn/listdetail/1/8227/2291.html

          14、active兼容處理 即 偽類 :active 失效

          方法一:body添加ontouchstart

          <body ontouchstart="">

          方法二:js給 document 綁定 touchstart 或 touchend 事件

          <style> a {   color: #000; } a:active {   color: #fff; } </style> <a herf=foo >bar</a> <script>   document.addEventListener(''''touchstart'''',function(){},false); </script>

          15、動畫定義3D啟用硬件加速

          Element {     -webkit-transform:translate3d(0, 0, 0)     transform: translate3d(0, 0, 0); }

          注意:3D變形會消耗更多的內(nèi)存與功耗

          16、Retina屏的1px邊框

          Element{     border-width: thin; }

          17、webkit mask 兼容處理

          某些低端手機(jī)不支持css3 mask,可以選擇性的降級處理。

          比如可以使用js判斷來引用不同class:

          if( ''''WebkitMask'''' in document.documentElement.style){     alert(''''支持mask''''); } else {     alert(''''不支持mask''''); }

          18、旋轉(zhuǎn)屏幕時,字體大小調(diào)整的問題

          html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6 {     -webkit-text-size-adjust:100%; }

          19、transition閃屏

          /設(shè)置內(nèi)嵌的元素在 3D 空間如何呈現(xiàn):保留3D /

          -webkit-transform-style: preserve-3d;

          / 設(shè)置進(jìn)行轉(zhuǎn)換的元素的背面在面對用戶時是否可見:隱藏 /

          -webkit-backface-visibility:hidden;

          20、圓角bug

          某些Android手機(jī)圓角失效

          background-clip: padding-box;

          21、頂部狀態(tài)欄背景色

          <meta name="apple-mobile-web-app-status-bar-style" content="black" />

          說明:

          除非你先使用apple-mobile-web-app-capable指定全屏模式,否則這個meta標(biāo)簽不會起任何作用。

          如果content設(shè)置為default,則狀態(tài)欄正常顯示。如果設(shè)置為blank,則狀態(tài)欄會有一個黑色的背景。如果設(shè)置為blank-translucent,則狀態(tài)欄顯示為黑色半透明。如果設(shè)置為default或blank,則頁面顯示在狀態(tài)欄的下方,即狀態(tài)欄占據(jù)上方部分,頁面占據(jù)下方部分,二者沒有遮擋對方或被遮擋。如果設(shè)置為blank-translucent,則頁面會充滿屏幕,其中頁面頂部會被狀態(tài)欄遮蓋住(會覆蓋頁面20px高度,而iphone4和itouch4的Retina屏幕為40px)。默認(rèn)值是default。

          兼容性 iOS 2.1 +

          22、設(shè)置緩存

          <meta http-equiv="Cache-Control" content="no-cache" />

          手機(jī)頁面通常在第一次加載后會進(jìn)行緩存,然后每次刷新會使用緩存而不是去重新向服務(wù)器發(fā)送請求。如果不希望使用緩存可以設(shè)置no-cache。

          23、桌面圖標(biāo)

          <link rel="apple-touch-icon" href="touch-icon-iphone.png" /> <link rel="apple-touch-icon" sizes="76x76" href="touch-icon-ipad.png" /> <link rel="apple-touch-icon" sizes="120x120" href="touch-icon-iphone-retina.png" /> <link rel="apple-touch-icon" sizes="152x152" href="touch-icon-ipad-retina.png" />

          iOS下針對不同設(shè)備定義不同的桌面圖標(biāo)。如果不定義則以當(dāng)前屏幕截圖作為圖標(biāo)。

          上面的寫法可能大家會覺得會有默認(rèn)光澤,下面這種設(shè)置方法可以去掉光澤效果,還原設(shè)計(jì)圖的效果!

          <link rel="apple-touch-icon-precomposed" href="touch-icon-iphone.png" />

          圖片尺寸可以設(shè)定為5757(px)或者Retina可以定為114114(px),ipad尺寸為72*72(px)

          24、啟動畫面

          <link rel="apple-touch-startup-image" href="start.png"/>

          iOS下頁面啟動加載時顯示的畫面圖片,避免加載時的白屏。

          可以通過madia來指定不同的大小:

          <!--iPhone--> <link href="apple-touch-startup-image-320x460.png" media="(device-width: 320px)" rel="apple-touch-startup-image" /> <!-- iPhone Retina --> <link href="apple-touch-startup-image-640x920.png" media="(device-width: 320px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" /> <!-- iPhone 5 --> <link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="apple-touch-startup-image-640x1096.png"> <!-- iPad portrait --> <link href="apple-touch-startup-image-768x1004.png" media="(device-width: 768px) and (orientation: portrait)" rel="apple-touch-startup-image" /> <!-- iPad landscape --> <link href="apple-touch-startup-image-748x1024.png" media="(device-width: 768px) and (orientation: landscape)" rel="apple-touch-startup-image" /> <!-- iPad Retina portrait --> <link href="apple-touch-startup-image-1536x2008.png" media="(device-width: 1536px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" /> <!-- iPad Retina landscape --> <link href="apple-touch-startup-image-1496x2048.png"media="(device-width: 1536px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)"rel="apple-touch-startup-image" />

          25、瀏覽器私有及其它meta

          以下屬性在項(xiàng)目中沒有應(yīng)用過,可以寫一個demo測試以下!

          QQ瀏覽器私有

          全屏模式

          <meta name="x5-fullscreen" content="true">

          強(qiáng)制豎屏

          <meta name="x5-orientation" content="portrait">

          強(qiáng)制橫屏

          <meta name="x5-orientation" content="landscape">

          應(yīng)用模式

          <meta name="x5-page-mode" content="app">

          UC瀏覽器私有

          全屏模式

          <meta name="full-screen" content="yes">

          強(qiáng)制豎屏

          <meta name="screen-orientation" content="portrait">

          強(qiáng)制橫屏

          <meta name="screen-orientation" content="landscape">

          應(yīng)用模式

          <meta name="browsermode" content="application">

          其它

          針對手持設(shè)備優(yōu)化,主要是針對一些老的不識別viewport的瀏覽器,比如黑莓

          <meta name="HandheldFriendly" content="true">

          微軟的老式瀏覽器

          <meta name="MobileOptimized" content="320">

          windows phone 點(diǎn)擊無高光

          <meta name="msapplication-tap-highlight" content="no">

          26、 IOS中input鍵盤事件keyup、keydown、keypress支持不是很好

          問題是這樣的,用input search做模糊搜索的時候,在鍵盤里面輸入關(guān)鍵詞,會通過ajax后臺查詢,然后返回?cái)?shù)據(jù),然后再對返回的數(shù)據(jù)進(jìn)行關(guān)鍵詞標(biāo)紅。用input監(jiān)聽鍵盤keyup事件,在安卓手機(jī)瀏覽器中是可以的,但是在ios手機(jī)瀏覽器中變紅很慢,用輸入法輸入之后,并未立刻相應(yīng)keyup事件,只有在通過刪除之后才能相應(yīng)!

          解決辦法:

          可以用html5的oninput事件去代替keyup

          <input type="text" id="testInput"> <script type="text/javascript">     document.getElementById(''''testInput'''').addEventListener(''''input'''', function(e){         var value = e.target.value;     }); </script>

          然后就達(dá)到類似keyup的效果!

          者 | Slava Vaniukov

          譯者 | 蘇本如,責(zé)編 | 夕顏

          封圖 | CSDN下載自視覺中國

          出品 | CSDN(ID:CSDNnews)

          隨著軟件開發(fā)向移動應(yīng)用的轉(zhuǎn)變,越來越多的企業(yè)意識到,移動應(yīng)用程序?qū)τ谄髽I(yè)和客戶之間建立牢固的聯(lián)系至關(guān)重要。這就是為什么安卓應(yīng)用程序開發(fā)正在為不同的行業(yè)帶來新的轉(zhuǎn)機(jī)的原因。

          根據(jù)Statista數(shù)據(jù)統(tǒng)計(jì),截至2019年第四季度,谷歌應(yīng)用商店(Google Play Store)上大約有257萬個安卓應(yīng)用程序,而且這個數(shù)字一直在增長。從現(xiàn)在起,許多規(guī)模不等的公司都將移動應(yīng)用程序納入其營銷戰(zhàn)略。

          因此,在這樣的競爭環(huán)境下,開發(fā)可靠的應(yīng)用程序成為一項(xiàng)極具挑戰(zhàn)性的任務(wù)。而能夠給開發(fā)者帶來幫助的是安卓應(yīng)用程序開發(fā)框架,它可以加速和優(yōu)化整個開發(fā)過程。

          然而,為安卓應(yīng)用程序開發(fā)挑選一個合適的框架并非易事。它取決于你要開發(fā)什么類型的應(yīng)用程序,以及你的項(xiàng)目可能有哪些特別的需求。

          為了幫助你解決這個問題,筆者在這里提供了一個我們認(rèn)為是最好的安卓應(yīng)用程序開發(fā)框架的列表,并且對其作了全面概述和比較。

          原生安卓應(yīng)用程序開發(fā)框架

          原生安卓應(yīng)用程序開發(fā)是最受歡迎的。原生應(yīng)用程序通常是用Kotlin、Java或C++創(chuàng)建的。在創(chuàng)建一個具有流暢用戶體驗(yàn)的自定義設(shè)計(jì)方面,它為你提供了最大的靈活性。借助它,你可以利用設(shè)備的硬件功能,包括麥克風(fēng)、攝像頭和傳感器。這可以通過直接訪問平臺組件來實(shí)現(xiàn)。

          原生開發(fā)工具包

          原生開發(fā)工具包,或者叫NDK,被認(rèn)為是最好的安卓框架之一。它使得開發(fā)人員可以使用C和C++來為安卓設(shè)備編寫代碼。它很少用于整個項(xiàng)目。開發(fā)人員在必須處理應(yīng)用程序中的性能問題時經(jīng)常使用它。

          由于NDK旨在優(yōu)化應(yīng)用程序的性能,因此它附帶了很多用C和C++編寫的代碼庫。開發(fā)人員可以在構(gòu)建新應(yīng)用程序時使用這些功能。

          你可以在Android Studio中使用NDK將C/C++代碼編譯成原生庫。借助Gradle,你也可以把它打包到APK中。

          IntelliJ- Kotlin

          Kotlin由JetBrains創(chuàng)建,是最重要的靜態(tài)類型編程框架之一。安卓開發(fā)人員經(jīng)常將其用于應(yīng)用程序開發(fā)。它同時具備函數(shù)式編程和面向?qū)ο缶幊痰奶攸c(diǎn)。

          谷歌在2017年表示,Kotlin可以用作安卓開發(fā)的官方IDE(集成開發(fā)環(huán)境)。Kotlin運(yùn)行在Java虛擬機(jī)上。因此,它完全可以與Java語言進(jìn)行互操作。在許多情況下,它可以用作Java的替代品,因?yàn)樗鼧O大地統(tǒng)一了開發(fā)過程。許多開發(fā)人員已經(jīng)轉(zhuǎn)向使用Kotlin,并將它作為他們最喜歡使用的安卓主要框架之一。

          使用Kotlin開發(fā)的應(yīng)用程序,因?yàn)槭褂昧俗止?jié)碼結(jié)構(gòu)而運(yùn)行迅速。

          此外,如果你還沒有嘗試使用Intellij-Kotlin,你應(yīng)該考慮一下。在最近的Stack Overflow開發(fā)者調(diào)查報告中,Kotlin被評為第四大最受歡迎的編程語言。

          到2020年,許多大型企業(yè)都計(jì)劃遷移或正在遷移到Kotlin。其中包括Uber、Trello、Pinterest、Twitter、Basecamp、Airbnb和Netflix,他們更喜歡Kotlin作為其開發(fā)安卓應(yīng)用程序的主要語言。自發(fā)布以來,Kotlin已經(jīng)證明了它是一個高度直觀的安卓應(yīng)用程序開發(fā)平臺。

          Sencha Touch

          Sencha Touch是安卓應(yīng)用程序開發(fā)框架之一,專為創(chuàng)建原生移動應(yīng)用程序而設(shè)計(jì)。它基于HTML5和JavaScript,可用于原生安卓應(yīng)用程序的開發(fā)。

          圖片來源:Sencha

          Sencha Touch帶有將近50個內(nèi)置UI組件和原生主題。這使開發(fā)人員能夠創(chuàng)建引人注目且外觀精美的應(yīng)用程序。該框架使用硬件加速方法,因此在其幫助下創(chuàng)建的應(yīng)用程序可以在較高的級別上執(zhí)行。

          大型公司之所以選擇Sencha Touch,是因?yàn)樗哂懈呒墑e的兼容性和靈活性,以及快速的執(zhí)行時間和響應(yīng)能力。使用它構(gòu)建的應(yīng)用程序具有豐富的動畫效果、流暢的滾動和高度自適應(yīng)性。它龐大的數(shù)據(jù)包、大量的主題集、豐富的用戶界面和集成的MVC系統(tǒng),使其成為安卓開發(fā)的領(lǐng)先框架之一。

          jQuery Mobile

          jQuery Mobile框架是另一個可以幫助你構(gòu)建可靠的安卓應(yīng)用程序的框架。它是一個基于HTML5的UI框架。能夠讓你構(gòu)建一個單獨(dú)的、特別標(biāo)記的、響應(yīng)式應(yīng)用程序或站點(diǎn)。它幾乎適用于所有平板電腦,手機(jī)和移動工作臺。

          為了簡化對主題的特殊修改,jQuery mobile創(chuàng)建了ThemeRoller。使用它,你可以輕松移動和下載自定義主題。為了獲得更清晰的視覺效果,可以將其與CSS3屬性(如box shadow和content shadow)一起使用。

          安卓游戲開發(fā)框架

          Unity

          Unity被認(rèn)為是用于多平臺二維、三維、虛擬現(xiàn)實(shí)、增強(qiáng)現(xiàn)實(shí)游戲和人工智能驅(qū)動的應(yīng)用程序的最佳安卓架構(gòu)框架,因此廣受歡迎。此外,根據(jù)Statista的研究數(shù)據(jù),Unity被視為針對包括但不限于英國市面上的安卓游戲設(shè)備進(jìn)行游戲開發(fā)的頂級引擎。

          Unity提供免費(fèi)版本和專業(yè)版本,供開發(fā)人員選擇使用。

          你可以輕松地在C#和UnityScript中使用Unity,UnityScript語言讓人聯(lián)想到JavaScript。它是一個跨平臺的框架,允許開發(fā)人員將其游戲擴(kuò)展到多個平臺,例如PlayStation、iOS、Web、Windows、Xbox等。

          這個框架的優(yōu)點(diǎn)是可以使用的代碼庫和工具種類繁多,靈活性高而且創(chuàng)建速度快。像許多軟件開發(fā)工具一樣,Unity有一個內(nèi)置的編輯器,允許你通過“Animator”窗口更改圖像并管理動畫。除此之外,該框架還提供了市場上最好的圖形性能指標(biāo)。

          事實(shí)上,截至2018年,半數(shù)的最新手機(jī)游戲和超過60%的AR/VR體驗(yàn)內(nèi)容都是使用Unity創(chuàng)建的。它是一個易于使用的平臺,允許開發(fā)人員創(chuàng)建令人驚嘆的內(nèi)容和強(qiáng)大的用戶連接。

          Corona SDK

          Corona SDK于2009年開發(fā),是用于構(gòu)建具有即時體驗(yàn)的快速游戲和應(yīng)用程序

          的完美軟件開發(fā)套件。它基于Lua(一種開源的輕量級編程語言)。正因?yàn)槿绱耍拈_發(fā)速度比大多數(shù)其他安卓應(yīng)用程序框架快10倍。

          圖片來源:Coronalabs

          Corona是一個跨平臺的框架,但是在游戲開發(fā)人員中非常流行。它是完全免費(fèi)的,可用于Windows和Mac OS X,并支持實(shí)時測試。該框架運(yùn)行原生UI,并帶有500多個API,以及一個直觀的面向開發(fā)人員的廣告平臺。

          它的API套件具有很多功能,包括網(wǎng)絡(luò),圖形,小部件,粒子效果等等。安卓應(yīng)用程序開發(fā)人員喜歡使用Corona框架,因?yàn)樗鼘Τ鯇W(xué)者友好且易于使用。

          跨平臺/混合安卓框架

          React Native

          React Native是一個著名的開源框架,為其他開發(fā)工具及其集成開發(fā)環(huán)境(IDE)提供平臺支持。

          So

          圖片來源:Reach Native

          它基于React框架,一個JS庫,現(xiàn)在越來越受歡迎。像特斯拉、Instagram、沃爾瑪和Airbnb這樣的公司已經(jīng)使用這一技術(shù)來開發(fā)他們的原生移動應(yīng)用程序。如果你要開發(fā)Web和移動版本,它通常用于構(gòu)建單頁應(yīng)用程序。

          除此之外,該框架是開發(fā)MVP和原生移動應(yīng)用程序的熱門選擇。

          該框架提供了一組核心的平臺原生組件,包括View,Text和Image,它們直接鏈接到平臺的原生UI構(gòu)建塊。

          由于大多數(shù)React Native API的跨平臺支持,開發(fā)人員可以編寫一次代碼,然后在任何地方運(yùn)行它。這樣就提高了開發(fā)速度并降低了開發(fā)成本。

          該框架提供了一個熱重載選項(xiàng),開發(fā)人員可以在保持當(dāng)前應(yīng)用程序狀態(tài)的同時,鏈接更新的文件。React Native編程社區(qū)的發(fā)展速度遠(yuǎn)遠(yuǎn)快于最初啟動時的預(yù)期。

          Xamarin

          基于Microsoft Xamarin創(chuàng)建的是另一種更加流行的安卓開發(fā)框架。它提供了一個高級工具集,開發(fā)人員可以通過共享的C#代碼庫為多個移動平臺構(gòu)建原生應(yīng)用程序。

          圖片來源:Xamarin

          借助微軟的云測試功能,使用Xamarin構(gòu)建的應(yīng)用程序可以在許多設(shè)備上進(jìn)行測試。此外,它的代碼共享功能使它成為最受歡迎的工具,因?yàn)樗鼫p少了編碼時間并減少了開發(fā)人員必須處理的bug數(shù)量。

          最近,Visual Studio IDE為Xamarin開發(fā)了工具。這樣,你就可以獲得開發(fā)工具包、云服務(wù)等。因此,醫(yī)療保健和能源等行業(yè)的許多主要參與者已經(jīng)轉(zhuǎn)向了它。它已經(jīng)出現(xiàn)了一段時間,但是與其他安卓框架相比,使用它的開發(fā)人員的數(shù)量只是從最近開始增加了很多。

          Appcelerator Titanium

          Appcelerator Titanium是一個安卓平臺,它也可以在iOS和Windows上使用。它使用一個拖放調(diào)色板,生成的代碼具有出色的生產(chǎn)質(zhì)量。它還具有雙向更新功能,允許代碼和設(shè)計(jì)之間的無縫移動。

          圖片來源:Appcelerator

          它允許你跨操作系統(tǒng)和設(shè)備來執(zhí)行UI更改,以及使用JavaScript直接訪問每個iOS和Android API。它還包含無需更改的第三方原生庫。

          不過,它最出名的地方也許是創(chuàng)建復(fù)雜的自定義效果,比如動態(tài)動畫。你可以在運(yùn)行Titanium代碼的同時,輕松地運(yùn)行Swift,Java或Objective C代碼。

          Ionic

          Ionic是經(jīng)過麻省理工學(xué)院(MIT)認(rèn)證的免費(fèi)開源框架。它允許開發(fā)人員在JavaScript,HTML5和CSS3的幫助下構(gòu)建漸進(jìn)式的混合應(yīng)用程序。由于其具有跨平臺功能和集成AngularJS的能力,它已成為安卓開發(fā)中最受歡迎的框架之一。

          它提供了一個CLI(命令行界面),其中包括日志記錄,模擬器和實(shí)時重新加載等功能。由于它是基于Cordova和AngularJS發(fā)展出來的,因此它有一個龐大和繁榮的社區(qū)。

          Flutter

          Flutter由谷歌維護(hù)和開發(fā),是一個多平臺的移動應(yīng)用SDK。它可以用于構(gòu)建應(yīng)用程序,但與其他安卓應(yīng)用程序框架不同。它加速了跨平臺開發(fā)過程,并使用Dart編寫。Flutter被許多人認(rèn)為是混合應(yīng)用程序開發(fā)的最佳選擇。

          圖片來源:Flutter.dev

          它的框架使用二維渲染引擎Skia來創(chuàng)建視覺效果。類似于Material Design和Cupertino風(fēng)格。它還是一個可靠的測試框架,允許開發(fā)人員執(zhí)行單元測試、UI測試和功能測試。Flutter具有出色的熱加載功能。這樣就可以進(jìn)行無縫測試,而無需重新啟動應(yīng)用程序。

          Cordova

          沒有Cordova,前5名安卓測試框架的列表將是不完整的。Cordova是另一個免費(fèi)的開源安卓框架。它允許開發(fā)人員通過單個代碼庫構(gòu)建多平臺應(yīng)用程序。Cordova是一個混合框架,可以使用標(biāo)準(zhǔn)的web技術(shù)進(jìn)行應(yīng)用程序開發(fā)。它也可以與JavaScript,HTML5和CSS3完美配合。Cordova就像是移動應(yīng)用程序和web應(yīng)用程序之間的橋梁。

          Cordova還可以訪問原生設(shè)備API,這使得識別應(yīng)用程序是否是使用原生語言進(jìn)行開發(fā)非常困難。它最初旨在開發(fā)在線應(yīng)用程序,但也能夠?yàn)殡x線應(yīng)用程序開發(fā)提供支持。這也使其成為開發(fā)桌面應(yīng)用程序的理想平臺。

          PhoneGap

          PhoneGap是一個開源的安卓應(yīng)用程序框架,由Apache和Adobe支持。它允許軟件工程師使用web開發(fā)技術(shù)構(gòu)建應(yīng)用程序,并與HTML5、CSS3和JavaScript協(xié)同工作。這是一個既適用于原生安卓和iOS應(yīng)用程序,同時也適合web應(yīng)用程序的框架。因其具有這樣的多功能性,而對開發(fā)人員來說非常有用。

          圖片來源:PhoneGap

          借助PhoneGap,開發(fā)人員可以跟蹤應(yīng)用程序開發(fā)過程中所做的任何更改。它通常用于開發(fā)混合移動應(yīng)用程序。PhoneGap提供了一致的性能和工作自由,而不受硬件的特定限制。

          你可以將其與安卓系統(tǒng)一起使用,但它也有助于為其他操作系統(tǒng)開發(fā)應(yīng)用程序。該框架的最新版本隨附內(nèi)置的Cordova WebView,用于將PhoneGap代碼集成到更復(fù)雜的原生應(yīng)用程序中。它有一個擴(kuò)展的集成插件庫、第三方工具和一個快速增長的開發(fā)環(huán)境。

          NativeScript

          NativeScript是混合應(yīng)用程序開發(fā)的另一個框架。它的優(yōu)點(diǎn)是免費(fèi)和開源。

          它使得開發(fā)人員能夠使用Angular、Vue和TypeScript創(chuàng)建應(yīng)用程序。這個框架是由保加利亞軟件公司Telerik設(shè)計(jì)的。從CocoPods到Gradle,開發(fā)人員都可以輕松地使用這個框架在他們的項(xiàng)目中直接重用各種插件。隨著時間的推移,這將是越來越流行的安卓UI測試框架之一。

          它還使得精通JavaScript,HTML,CSS和原生UI標(biāo)記的web開發(fā)人員可以輕松地創(chuàng)建優(yōu)秀的漸進(jìn)式應(yīng)用程序。如此多的開發(fā)人員選擇NativeScript進(jìn)行安卓應(yīng)用開發(fā)的原因之一是:它可以提供原生平臺UI,比如說,你可以獲得類似原生應(yīng)用的性能和用戶界面。

          通過在UI線程上運(yùn)行JS,該框架可以在所有原生平臺API上實(shí)現(xiàn)高性能。在所有適用于安卓的Java框架中,這可能是最適合你使用的框架。

          結(jié)束語

          綜上所述,為應(yīng)用程序開發(fā)選擇合適的安卓框架可能是一個復(fù)雜的過程。對于一家公司和一個應(yīng)用程序來說是行之有效的選擇,對另一家公司和另一個應(yīng)用程序來說則未必適用。重要的是,要考慮到你的特定應(yīng)用和項(xiàng)目的需求,然后選擇一個擁有你所需要的所有工具和功能的框架。祝你好運(yùn)!

          原文鏈接:

          https://levelup.gitconnected.com/top-frameworks-for-android-app-development-overview-of-top-dc95fcde75a0

          本文為CSDN翻譯文章,轉(zhuǎn)載請注明出處。

          ?程序員為什么應(yīng)該旗幟鮮明地反對“最佳實(shí)踐”?

          ?“軟件開發(fā)教父” Martin Fowler 從業(yè) 40 年最想說這兩個字!

          ?紅外光抗疫、成功預(yù)測新基建,投資 280 家企業(yè)的光學(xué)博士到底是誰?

          ?前端機(jī)器學(xué)習(xí):識別人臉,并在臉頰上畫草莓

          ?瑞幸咖啡自曝虛假交易 22 億,App 反沖 TOP 1

          ?在Kubernetes上部署一個簡單的、類PaaS的平臺,原來這么容易!

          ?曠視提雙邊分支網(wǎng)絡(luò)BBN:攻堅(jiān)長尾分布的現(xiàn)實(shí)世界任務(wù) | CVPR 2020 Oral

          ?2020年,這20個大家都認(rèn)識的加密交易所過得怎么樣?

           首先可以肯定,html5(簡稱h5)將在很多年內(nèi)成為互聯(lián)網(wǎng)的主流。那到底什么是h5呢?想了解h5,先要了解它的前身html和被它終結(jié)的flash:

            2000年左右的前端靜態(tài)網(wǎng)頁格式是html的,僅支持ie,netscape等幾大主流瀏覽器。簡單地說,利用html中的table標(biāo)簽進(jìn)行基本圖文排版,用javascript腳本(簡稱js,后面會提到)提供比如跑馬燈、打字效果、下拉菜單等簡單動畫效果。這些table、js代碼(其實(shí)還有其他)就構(gòu)成了html文檔,傳到服務(wù)器就能在互聯(lián)網(wǎng)上瀏覽了。為了彌補(bǔ)js的粗陋動畫效果,有個叫flash的精美動畫格式挺身而出了。flash不僅能做動畫,還能內(nèi)嵌視頻,那時候做flash的人叫閃客,是個很酷斃了的行業(yè)。更多網(wǎng)站建設(shè)和SEO案例【www.tpsem.com】

          在flash動畫大行其道的日子里,js動畫效果簡直連打醬油都算不上。于是將flash格式作為塊結(jié)構(gòu)插到html代碼里做成網(wǎng)頁,這種搭配持續(xù)了10幾年。中途僅僅將html中的table標(biāo)簽變成了div+css 用來實(shí)現(xiàn)內(nèi)容和樣式的分離(這句看不懂就跳過吧,不是重點(diǎn))。但html+flash的格局是動搖不了的:html用來網(wǎng)頁排版,flash做酷炫效果、動畫。且不說它兩移動端幾乎為0,光說pc端,這兩種格式都有很大缺點(diǎn):html效果很單調(diào)粗陋,flash無法讓搜索引擎搜索,而且所有瀏覽器不能直接播放,要下載一個flashplayer的插件才行,最要命的是flash技術(shù)本身也是有問題的。作個不恰當(dāng)?shù)谋扔鳎琱tml+flash就像一個土的掉渣的實(shí)在人硬生生娶了一個花瓶式的驚艷美女。

            到了移動互聯(lián)網(wǎng)時代來臨的2014年,flash在移動端的失敗基本上宣布它將退出歷史舞臺,因?yàn)闆]有人愿意采用手機(jī)端和所有蘋果產(chǎn)品不支持的玩意,酷斃變成了苦逼……于是問題出來了:流媒體的空缺誰補(bǔ)?酷炫效果誰補(bǔ)?強(qiáng)大的動畫效果誰補(bǔ)?總不能由于移動端的普及,反而連累整個電腦端的互聯(lián)網(wǎng)的效果和動畫一下回到解放前吧?

            好在html5的到來彌補(bǔ)了這一切,而且?guī)缀跛袨g覽器宣布對它的支持,現(xiàn)在主流的ie10+、谷歌chrome、safari、opera、火狐以及各種國內(nèi)瀏覽器等,各種手機(jī)瀏覽器都支持它的所有功能。不僅如此,h5的優(yōu)勢還體現(xiàn)在:

            1.對流媒體、視頻的支持前所未有,甚至兼容到了手機(jī)版。

            2.現(xiàn)在的js腳本咸魚翻身,動畫效果極其強(qiáng)大!并有了支持矢量的canvas功能,彌補(bǔ)了flash退出后的效果缺失。

            3.h5的css3樣式,支持響應(yīng)式布局,完成了手機(jī)、電腦、pad端的無縫兼容(自適應(yīng)各種屏幕和設(shè)備),而以前的html只支持電腦端

            4.支持各種微傳播的輕app(類似不需要下載的手機(jī)端app,做宣傳專題頁很合適),這在html時代想都不敢想的。

            5.h5和手機(jī)app的數(shù)據(jù)兼容也是無障礙的,很容易通過h5打通各種交互界面、數(shù)據(jù)。這在html時代更是不敢想的。

            h5只有兩個缺點(diǎn):1.ie9以下的瀏覽器看不到一些酷炫效果,只能提供基本功能,這對兼容性提出了很高的要求。2.開發(fā)成本高得多。

            名字還叫html,和html的簡單排版功能卻有著天壤之別。這,就是馬上,或者正在崛起的html5!

            html5=css3+javascript,它承載者打通各大瀏覽器、各種瀏覽設(shè)備、蘋果與PC、安卓和windows及ios、app與輕app、微平臺與各種平臺的功能并完全兼容……寫這種代碼的人叫前端設(shè)計(jì)師,現(xiàn)在是炙手可熱的行業(yè)。


          主站蜘蛛池模板: 欧美一区内射最近更新| 中文字幕一区二区三| 一区二区免费视频| 无码国产精品一区二区免费式影视| 色综合视频一区二区三区44 | 日韩伦理一区二区| 亚洲综合无码AV一区二区 | 久久久久人妻一区精品性色av| 色国产在线视频一区| 亚洲一区二区久久| 一区二区三区精品视频| 亚洲AV无码一区二区三区网址| 久久国产精品视频一区| 亚洲美女高清一区二区三区| 毛片无码一区二区三区a片视频 | 国产精品亚洲一区二区三区在线观看 | 日本精品一区二区三区在线观看| 日韩欧美一区二区三区免费观看 | 亚洲AV无码一区二区二三区软件 | 国产一区二区三区四| 学生妹亚洲一区二区| 一区二区三区四区视频| 性无码免费一区二区三区在线| 一区二区福利视频| 天天看高清无码一区二区三区| 无码丰满熟妇浪潮一区二区AV | 中文字幕av一区| 麻豆一区二区免费播放网站| 无码人妻视频一区二区三区| 中文字幕一区二区人妻| 国产一区二区三区高清在线观看 | 免费高清在线影片一区| 亚洲综合一区二区精品久久| 国产精品特级毛片一区二区三区| 国产在线精品一区二区夜色| 国产午夜精品一区二区| 波多野结衣AV无码久久一区| 国模少妇一区二区三区| 国产成人精品一区二区秒拍 | 日韩精品无码久久一区二区三| 精品一区二区高清在线观看|