日話題:
h5是否能反撲超越原生?(h5 針對于微信的小程序) - 騎行西藏
1、能算是趨勢吧,記得之前谷歌要做自己的WEBOS是不是也沒有做起來? - 趙義杰
2、低頻應用可以做做,什么黃歷、翻譯、地鐵公交查詢、菜譜啥的。- 金亮
3、api開放太多了對機器本身安全是問題,開放太少了h5功能實現又不如原生。 - 小刺猬
4、apple不會把它下架… - 金亮
5、哈哈,真有可能 。“小程序開發后,不能直接發布,需要經過審核,類似 App Store” - 小刺猬
6、路徑變短了,還是靠譜的 - 種樹人
7、在我的地盤還敢自己搞個應用市場 - 金亮
8、然后微信就可以取帶appstore了。。。 - 小刺猬
9、小程序可以離線工作,公眾號無網就掛了 - Ado
10、啥時候無網? - 零度西瓜
11、打個比方啊。工具類的,如美顏圖片時不需要網絡也可以,與瀏覽器插件有點像 - Ado
12、完全替代是不可能的 - Song
13、那肯定不可能。只能代替小部份,我得讓我孩子學學H5去了。 - Ado
14、聽張小龍說也沒打算替代APP - Song
15、對16G的iphone是個福音,部分app可以卸載了。 - 金亮
16、蘋果會同意嗎? - slee
17、同感,蘋果會同意嗎,有點擦邊球的感覺 - Xiangz
18、你都繞過appstore審核了,蘋果覺得不可控制了 - slee
19、H5不能超越原生,善長的方向不一樣。可能的是替代原來原生不善長卻在做的事情,讓技術方案更合理,減少因為技術錯用而加班的時間,兄弟們早睡才好。惡長盡量避免不用啊,何必為了技術而技術,更高效簡單的解決需求就好 - 胡繼偉
20、h5單一個廣告就煩死你了,h5的網頁, 往往會因為運營商,wifi等,彈廣告,客戶都投訴死你 - vk
21、https呀 - 姚文強
22、h5 不兼容,css能調死,對兼容和樣式要求不高的 h5能替代原生 - 荒野獵人
23、類比PC的話,應該就是web應用和桌面應用吧
追求效果和性能的,還是會走原生
但內容類,工具類的,會越來越多用wap app的形式吧,而且以后的效果和性能會越來越好 - 軒轅?亮
24、其實gui的趨勢就是,通過靜態的引擎和動態的腳本語言來實現界面渲染,語言可能會換,但是趨勢是這樣 - tiyee
25、圖標會不會藏的很深?如果需要點擊4、5步的話,就太麻煩了,微信支付需要點三步,支付寶只要一步 - liyang
26、h5的通信是 js -> 瀏覽器 -> 操作系統
原生的通信是 java/swift -> 操作系統
要把各方面做到h5與原生的一模一樣,那這個瀏覽器得多強大。所以h5只能在一些場景下替代原生的,不可能都替代原生的,就像B/S 和 C/S 一樣 - 昱木北蘭
27、如果h5體驗提上去了, 如果還能調用一些系統api, 感覺會很逆天。 至少目前看微信小程序的愿景就是很不錯的。但我覺得有個客戶端比起依托瀏覽器,有時候更容易讓人去使用。- Imp
28、跟瀏覽器無關,瀏覽器只是個殼子,關鍵在于渲染引擎,如果你用原生的obc或java實現web一樣的動態渲染,速度不會比web快,因為你寫的代碼不如webkit,而且語言效率也不一定比cpp高,你現在看到的不少桌面程序,看起來是c++寫的,其實都是內置了webkit或修改后的webkie來做界面部分的 - tiyee
29、小應用界面渲染估計也是基于css-layout的吧,渲染接近原生了,然而其他方面來說超越原生現在也不會,至少對開發者來說能使用的原生功能還是受限的,雖然相當一部分內容,工具,店鋪形式的應用還是夠用了。 - 肖龍
30、恩恩,反過來,這個渲染引擎與原生的方式也是一樣的道理 - 昱木北蘭
31、是的,只是瀏覽器的這個引擎復雜的多,靈活的多,容錯性也高的多,牛逼的前端,基本都看過webkit源代碼,我倒是覺得 h5和原生,就類似于php與java,php本質是一個中間語言,對開發更靈活,但是效率略低 - tiyee
32、不能這樣說吧,php也是運行在phpvm上,java在jvm上,js在v8上 - 黃隆
33、我覺得h5 替代 原生的 ,就像以前說 B/S模式 要替代 C/S 模式 - 昱木北蘭
34、最大的吸引力在于前期渠道推廣費用的降低,現在各大應用分發渠道的CPA高得嚇人,下載到注冊這一環節的流失率也不低,最后還要想著怎么激活用戶。。。。 - 廖強
35、還以為C/S、B/S的優缺點,也就大學里老師上課扯一扯,用戶體驗、版本更新什么的,各有各的優缺點,各有各的場景,移動互聯網之后也因為發版本與產品運營活動時效問題,解決方案是大家都用了Hybrid的方式,以及現在各家開源的很火的熱更新技術。
PC時代和移動時代的不同,主要是PC上操作瀏覽器方便的多。移動互聯網后,又有其他問題了,就目前的移動原生,有明顯的信息孤島問題,移動Web也有問題,搞個HTML5游戲,都要擔心用戶懂不懂的入口在哪里。 - Xiangz
36、先說結論H5還是比不過原生。
1.性能上H5沒有原生強勢,但是性能并非H5的主要目的瀏覽器的產生本身就是為了能夠訪問網絡上的資源。移動端也是如此。那么H5的作用在于能夠呈現網絡上的內容,而性能本身與原生系統來比,性能處于靠后的位置。畢竟移動端的H5現在都有中間層。無論如何都不可能比原生的性能好。
2.重量級APP原生和H5幾乎有深度整合,密不可分。電商類的APP幾乎都是重量級,功能繁雜,在H5和原生上也都有深入的切合度,可以這樣說離開原生純H5幾乎沒有辦法滿足要求。
3.開發速度上,H5非常高效,也就能夠實現產品快速試錯,也沒有跨平臺這一要求。如果說原生的話iOS,Android,WP就得三種類型的技術。H5更多的是前端的技術。
4.針對微信(1)技術:目前我看到的資料是,微信打開網頁的內核是Chrome的Blink內核,與QQ瀏覽器使用的一套內核,他們稱之為X5。X5在Blink的基礎上進行了定制,也就導致了標準的HTML,Css等再X5內核上與我們平時在PC上開發看到的效果不一致,而且X5的支持沒有官方標準,只能試。(2)產品依托于微信平臺,也就是說微信有生殺予奪的大權。在產品用戶量增長到一定程度的時候,必然要面對還是要開發原生的問題。此時微信會不會那么慷慨的再微信里給產品的APP倒流?我個人認為在微信平臺里開發“小程序”,面臨的問題跟APP分發渠道一樣。畢竟一級的頁面資源就那么點,充其量也不過十幾個產品位置。那廣大開發者的應用分發問題如何處理?
5.這兩天的“小程序”以這段時間看到的文章說,開發環境和語法是單獨的一套。就跟React一樣。但是React學了可以應用于前端開發無論PC端還是移動端都行,并不特別限制。而微信這個只能在微信環境下。也即是說技術價值不高,與個人技術成長來說,也沒有意義。 -- 蘋果
37、學習成本應該不高吧? - 陳亦
39、學習成本不高 但是平臺使用太過限制,如果是純使用不研究那么深的話,跟React學習難度應該一樣。而且我個人以為,微信不會使用第三方技術,還是會在第三方技術之上,自己重新立一套。 -- 蘋果
40、就算只是限制在微信這一個平臺上,價值也不低 - 軒轅?亮
41、h5的平臺限制可以忽略,基本可以微信平臺運行,可以打包成app,也可以瀏覽器運行。 - lu09ian
42、沒啥技術含量,對公司有價值,未必對個人就有價值,做的再好,也是個熟練工罷了 - tiyee
43、第三方服務小程序 --> 微信云OS <-- 移動終端原生OS - Xiangz
44、對 我想表達的意思也是對個人沒有價值 -- 蘋果
45、Native要是能熱更新就好了,或者說Apple能秒審核通過 - Daniel
46、我說的就是對公司的價值~.~ - 軒轅?亮
47、是React Native 一類的,打包出App,還真不一定在瀏覽器能用肯定是要改的 - Xiangz
48、@lu09ian 這個打包能運行必然是不可能的。因為微信開發還有個JSSDK 只能在微信環境里用。比如說分享,微信支付等等,如果要自己打包 那就不要用微信這個JSSDK的功能 ,分享,微信支付,調用攝像頭 原生能力都在JSSDK里 - 蘋果
49、這些只是接口,占的代碼量很小 - lu09ian
50、問題是 功能沒了啊 ,比如說上傳頭像的功能,打包到其他平臺 怎么辦> - 蘋果
51、基于微信生態的,整體開發起來,其實并沒有減少開發成本,反倒多了一個微信平臺 - Xiangz
52、現在就是搶小程序的紅利。他的實現思路,構架也是可以值得借鑒的 - Cesar
53、app就算能秒審也得用戶愿意自動安裝更新啊 - 肖龍
54、就像有了操作系統,開發人員不需要再去處理底層硬件
對程序員的需求更多的轉向業務邏輯的實現
微信小程序是把抽象封裝更往上了一層
應該讓公司對偏底層(操作系統,原生應用)的開發人員需求降低
但對于開發來講,當然是偏底層技術的“更高級”一些 - 軒轅?亮
55、微信自動下載好了吧 - 蘋果
56、你開發微信小程序用的組件庫都是微信封裝提供的..拿到其他地方用很難 - Xiangz
57、是的 不具備通用性- -,微信過審的內容 和 隨后他自己下載更新的內容是分開的,尤其這個小程序,都是網頁,而且隨著開發越來越完整。原生能力:攝像頭,陀螺儀,通訊錄,硬件加速,音頻,視頻這些功能都會被集成進微信的開發環境里。到時候,想脫離都脫離不了了- -,有個東西叫MUI干的也是這樣的事情,唯一的缺點就是在微信里有Bug - 蘋果
58、看目的吧
1、完全基于微信體系
2、初期基于微信體系,后期自建
3、把微信當做一個入口 - Xiangz
59、現在脫離不了安卓和iOS,以后脫離不了微信也什么 - 軒轅?亮
60、這是兩個概念吧 - 蘋果
61、微信沒說這是個跨平臺的工具 , 就是想讓大家來他家平臺開發應用 - 軒轅?亮
62、現在已經是跨平臺開發工具了,Mac,Window版本調試工具都出了,后期自建最大的風險在于 微信會不會那么輕松給APP倒流量,在微信里下載APP現在都是白名單 除了自家的APP 第三方一律不讓下載,就是那個很有名的 右上角->瀏覽器 打開頁面,微信里還有一種方式,就是把APP放到應用寶上。然后打開應用寶頁面
基本步驟是:
導航至應用寶APP頁面->檢測手機上有沒有裝應用寶->沒裝的話,先下載應用寶->裝了的話->打開應用寶->下載APP,安裝。 - 蘋果
63、H5頂多做些輔助,想反超或者替代,難 - 趙義杰
64、純展示類的可以替代,硬件交互的暫時不能 - 劉鵬
65、微信應用號 就是 加強版的 服務號 - 第一縷陽光
66、H5的性能一直都是個問題 - 藍至
67、這個話題討論了很多年,最后是原生開發需求增長,H5需求也增長,不過最近一兩年HTML5 發展更快 ,Facebook 和微信都推出了 小程序這樣的產品,上周Facebook 推出的H5 平臺 - 寂小樺
【其他討論】
isset($a)?$a:$b的簡寫很爽,$a??$b,少打很多字了 - 膘叔
很丑.....投了反對票,不過, 沒用 - 惠新宸??
做API的時候 function a():array ,至少有一個強制的標準 - 膘叔
還有最新的 nullable - 惠新宸??
這種層面的語法有什么意義, 我就想知道 - 我不叫大臉貓
少些幾個字符! - eli
PHP老是突然冒出個變量來。 - 膘叔
我想要個能改變PHP生態的語法特性 - 我不叫大臉貓
編譯器友好 - xingxing
特別是獲取別人的數據的時候,一個數組里,有時候有$data['id'],有時候沒有。。 - 膘叔
是不是要求的太多了 - 我不叫大臉貓
$id=$data['id']??0; 就不會報warning了 - 膘叔
語法 改變生態? - eli
比如像go get那樣的東西, 管理依賴,大括號強制不允許換行 - 我不叫大臉貓
特別是版本升級的時候,舊版本可能沒有$data['id']這個 下標。能少寫很多代碼啊。雖然也可以用 IDE的代碼模版。。 - 膘叔
版本升級的時候, 有個go vet醬紫的東西處理兼容問題,不然還滿大街php5.2的程序,一說你寫PHP的就感覺跟看大門的一個感覺,還有就是PHP的擴展管理也不怎么好用 - 我不叫大臉貓
不是用composer和PEAR嗎? - slee
網絡編程方面感覺啥都有, 但是用的時候又感覺啥都缺, 完全無法跟Java, Python或者go抗衡,群里不是一堆人說cp沒啥用么,還都是大神級的人物 - 我不叫大臉貓
我非常喜歡??寫法 - 水浸街
我覺得 拿php寫網絡編程 本身就選錯了! 當然 php7 好點! - eli
所以我想寫網絡編程我就必須學個其他語言嘍 - 我不叫大臉貓
原因很簡單,$a??$b,如果$a是個計算表達式,好處是很明顯的,不過由于php的變量有個$,看起來是挺丑的 - 水浸街
我搞了幾個月c。回來再寫php 這個$讓我尷尬了好多次 - eli
【每日一笑】
韓寒在一篇文章寫過,今天買了幾個芒果很甜。然后一大堆人在研究韓寒用了什么寫作手法,最后韓寒出來澄清說,就是買了幾個芒果。
不要過度解讀 - Song
【分享鏈接】
對 Rust 語言的分析 [ http://www.yinwang.org/blog-cn/2016/09/18/rust ]
王垠:編程宗派之我見 [ http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650993843&idx=1&sn=2c614ba3c0815ebac9a707629a88c021&scene=1&srcid=0822rUbyG27NClhxrXM6JFou#wechat_redirect ]
關于 HTML5 被簡稱做 H5 ,你怎么看? [ https://www.zhihu.com/question/30462183 ]
[Golang]OS系統調用淺析 [ http://blog.csdn.net/erlib/article/details/50264341 ]
使用Go語言工作400天后的感受 [ http://blog.csdn.net/erlib/article/details/50998026 ]
這才是 Angular2 的靈魂! [ http://www.open-open.com/lib/view/open1473923872636.html ]
簡易教程 · MINA [ http://wxopen.notedown.cn/ ]
HTTP Header 詳解 [ http://www.cnblogs.com/Joans/p/3956490.html ]
http如何像tcp一樣實時的收消息? [ http://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651959605&idx=1&sn=21f25087bef3c3a966ef03b824365621&scene=0#wechat_redirect ]
HTML5 vs Native Mobile App Development: Which option is best? [ http://www.slideshare.net/appcelerator/appcelerator-html5-prezfinal ][ 封面圖來源]
【其他】
如對上述討論有異議或更好的意見,請提出或在群里繼續討論
進群方式:公眾號后臺回復微信號,管理員會拉你入群
onic是開源的移動應用開發框架,便于構建高質量的本地和網絡技術先進的web應用程序。Ionic是基于Angular,有許多顯著的性能提升,可用性和功能都在不斷的進行改進。只需要會一點前端知識就能玩轉Ionic。
Ionic的應用程序創建開發主要通過Ionic命令行實用工具(“CLI—命令行界面”),并使用cordova構建和部署本地應用。建立Ionic項目,您需要安裝最新版本的CLI和cordova。在你這樣做之前,你需要一個node.js的最新版本。這些在我之前的文章有安裝教程。
官網地址:
http://ionicframework.com/
版本更新說明:
https://github.com/ionic-team/ionic/blob/master/CHANGELOG.md
學習ionic需要了解的知識:
HTML5
CSS3
TypeScript(JavaScript)
Angular2+
下面是一些組件的示例,不同系統有不同的樣式,下面展示iOS上的。
動作表單-Action Sheets
時間選擇器-DateTime
浮動的按鈕-Floating Action Buttons
分割按鈕-Segment
Inputs-輸入框
表格布局-Grid
小芯片-Chip
彈窗對話框1-Alert
彈窗對話框2-Popover
想要查看更多的ionic組件示例,可以在App Store和Google Play下載Ionic2Components應用,該APP即為官方所有組件的展示。
組件在線演示地址:
http://ionicframework.com/docs/api/
組件只能作用在用戶與界面交互上,想要調用原生設備功能就需要cordova,他提供了一組設備相關的API,通過這組API,移動應用能夠以JavaScript訪問原生的設備功能,如攝像頭、麥克風、GPS等。在應用商店下載Ionic Native即可體驗部分插件。
離子原生包裝插件:
http://ionicframework.com/docs/native/
通過以上組件配合使用,即使只懂css3一點皮毛也能做出一個漂亮簡單的HTML5 APP,想要了解更多ionic,可以關注我或者在官網查看最新消息。
殘酷的移動互聯網競爭環境下,HTML5技術一直受到各方關注,“HTML5顛覆原生App”的爭論也從未停止過,不管怎樣HTML5生態的構建方興未艾。不過對于移動開發者來說更關心的問題是如何低成本、周期短開發出體驗效果好的App,所以當下用HTML5遠比賭HTML5更現實。于是,一個一直被提及但是從沒有占據過統治地位的概念又一次走進了移動開發者們的視野,那就是跨平臺開發。
AD:WOT2015互聯網運維與開發者大會熱銷搶票
目前國內外已經有很多基于HTML5的跨平臺開發工具,你并不需要任何的原生應用編程經驗,你只需要一些HTML的相關知識,懂一些CSS和JavaScript,運用工具中所提供的各種豐富的功能模塊,便可在很短時間內完成App的開發而且讓你的App具備完美的原生體驗。
推薦幾款跨平臺工具
1、Appcelerator
Appcelerator的Titanium開發平臺使開發者可以通過HTML、PHP、JavaScript、Ruby、Python等Web編程語言開發手機、平板和桌面的原生App。其優勢在于它可以讓用戶輕松地訪問超過300個API以及定位信息。
此外,Appcelerator提供針對特定行為或事件定制的統計。App的數據既可儲存在云端,也可儲存在設備上。
2、APICloud
APICloud是一款“云端一體”的移動開發平臺,信仰“云端一體”的理念,重新定義了移動應用開發。APICloud為開發者從“云”和“端”兩個方向提供API,簡化移動應用開發技術,讓移動應用的開發周期從一個月縮短到7天。APICloud由“云API”和“端API”兩部分組成,可以幫助開發者快速實現移動應用的開發、測試、發布、管理和運營的全生命周期管理。
2、PhoneGap
PhoneGap是一個免費且開源的開發環境,使開發者可以開發出在Android、Palm、黑莓、iPhone、iTouch及iPad等設備上運行的App。其使用的是HTML和JavaScript等標準的Web開發語言。開發者使用PhoneGap進行開發,可調用加速計、GPS/定位、照相機、聲音等功能。
PhoneGap還提供Adobe AIR App以及在線的培訓課程,幫助開發者了解原生API并在他們自己的平臺上開發移動App。
4、NativeScript
NativeScript是使用移動平臺的JavaScript引擎來進行跨平臺開發。邏輯部分自然無需多說,關鍵在于如何使用平臺特性。NativeScript是通過反射得到所有平臺API,預編譯它們,然后將這些API注入到JavaScript運行環境,接下來在Javascript調用后攔截這個調用,并運行native代碼。NativeScript是使用大量web開發的技巧來進行app開發,因為工具鏈和語言都非常熟悉受到了很多前端開發者的歡迎。
5、Kinvey
Kinvey同樣是一個為移動應用開發者提供后臺創建服務的平臺。Kinvey強調加速移動應用開發與銷售的“即取即用”理念。Kinvey的中間層與數據層均托管在多個云服務提供商處,包括Rackspace、Amazon與Microsoft。所有通過Kinvey存儲的數據都會有四種方式備份:Amazon EC2、Windows Azure、Rackspace以及Kinvey自己的服務器,假如其中一兩個出現了故障,用戶的數據依然安然無恙。
總結:
關于HTML5和原生App的爭論一直在繼續,不論最后誰能取勝,開發者更關心App的開發速度和最終體驗。合理的使用工具會讓開發效率大大提升,甚至達到事半功倍的效果,希望能有一款適合您。
期待未來有一天,App開發可以像在紙上畫畫一樣簡單。
聲明:IT之家網站刊登/轉載此文出于傳遞更多信息之目的,并不意味著贊同其觀點或論證其描述。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。