『壹』 web前端現在是主要偏向於小程序和app開發嗎
算是做的比較多吧,但是在企業里,移動h5頁面的製作需求也是很大。我人為不用過多的糾結於是否該偏向於小程序或者APP開發,因為Web前端所包含的內容就是很多的,只要講Web前端學習的內容學精就可以了,不知涉及小程序、APP,其他的都要涉獵到,畢竟我是認為,程序員最終都是要走向管理崗的。
『貳』 如何讓WEB鏈接完美的跳轉到APP(安卓軟體開發)
在智能手機出貨量超過PC和功能手機、用戶使用App比例超過80%以上的情況下,智能手機App絕對成為了人們生活的主角。對於PC、平板、智能手機之間的跨平台無縫體驗,很早之前開發者就開始關注了。比如Evernote會開發幾乎所有平台的軟體版本,來保證用戶在使用各個平台時可以無縫切換;另外 Chrome 桌面版和手機端也可以同步數據,我在電腦上打開幾個網頁,換到手機上時仍能看到那幾個網頁。雖然很多人都認識到了App的重要性,但從PC到手機App,這中間仍然存在著很大的體驗斷層。PC段到移動端還有很多事情要做,比如接下來講的:當大量App內容被分享到微博、微信上之後,如何從PC或手機上的網頁鏈接完美切換到App。在我近一個多月的測試中,發現大部分的App都沒有做好從Web鏈接到App的過渡。比如我用手機在微博中點開一個應用官方帳號微博裡面的一個鏈接,鏈接內容是App內的內容(微博分享出來),然後你就會發現打開時大部分情況是網頁版。雖然我手機里安裝了這款應用,但卻仍然打開的是網頁版,如果該App需要登錄的話,我在網頁版上甚至都無法進行更多的操作。當然,也有個別App在鏈接到App跳轉的過程做得非常好。而在一般情況下,這種跳轉優化根據設計的無縫度會有四種,總結如下(在此聲明,我所測試的所有App都是我個人比較喜歡的,所以不存在詆毀哪款產品問題):第一種:鏈接是為PC設計的,根本沒有針對移動設備進行過優化,打開鏈接你必須通過縮放才能看到網頁上的內容。這類App有很多,比如大眾點評、果殼、果庫、抬杠等。第二種:鏈接為移動設備優化過,但從網頁端轉到移動端仍然有斷層。比如美樂時光官方微信會推薦一些歌單,我用瀏覽器打開後便可以直接播放,移動體驗非常棒,但即便登錄之後也不能對播放的歌曲進行收藏。如果我想收藏某些歌曲,必須用電腦打開網站,搜到歌曲,然後收藏後才會同步到美樂時光App上,非常的麻煩。另外這類App還有:想去、美團等。這裡面還有一種情況,就是媒體類應用。由於媒體本身產生的內容只是一篇篇文章,所以很容易為移動設備優化。但這又分兩類,一類本身網頁在移動設備上的體驗非常好,同時也有客戶端,但兩者是有斷層的。第二類是對移動端進行了優化,但由於沒有客戶端,反而不會出現上體驗斷層的問題。第三種:產品本身就是為移動而生的,即便是網頁版,也像移動端一樣簡潔。這種鏈接打開沒任何壓力,即便登錄,也是非常方便的。你可以直接用網頁版進行各種操作,然後打開App就能同步了。這種情況已經算是非常好的了,但它仍然無法解決網頁鏈接和App之間的鴻溝問題,我不能直接通過網頁鏈接打開App。這類產品比較少,比如早期的果庫(無網頁版)、國外的Fancy等。第四種:點擊鏈接可以直接打開App,如果是在桌面端則直接在瀏覽器中顯示內容。在我測試的十幾款App中,我只發現了兩款在網頁鏈接向App跳轉上做得非常好,那就是啪啪(Papa)和Instagram。我在刷微博看見好友分享了一條啪啪時,點擊鏈接,我的啪啪就會自動打開,然後顯示好友分享的內容。而Instagram做法有些不同,它第一次打開的是優化過的網頁,然後Logo旁有一個「Open in app」的按鈕,點擊之後可以直接打開App。這樣就非常方便,如果我沒有安裝app,那麼它會直接在手機瀏覽器里打開,如果我用的是電腦,那它也會直接在桌面瀏覽器中打開。對於Web鏈接向App跳轉的問題,可能很多人都會說這只是一個小細節,沒必要過度深究。但隨著我們使用手機App越來越頻繁,這個小問題會困擾越來越多的人。而且從第四種解決方案可以看出,很多App沒這樣做並不是因為蘋果的沙盒保護機制,只是開發者在考慮用戶體驗的時候,沒有把這部分真正的考慮進來。
『叄』 如何把java web 生成app
1.可以在servlet的init方法里,獲取web項目的全路徑。
String path = getServletContext().getRealPath("/");
例如 :E:\eclipseM9\workspace\tree\
2.也可以隨時在任意的class里調用,獲取到classes目錄的全路徑。
this.getClass().getClassLoader().getResource("/").getPath();
例如 : E:\eclipseM9/workspace/tree/WEB-INF/classes/
3.request.getContextPath();
獲得web根的上下文環境
『肆』 怎麼把web app 轉換為原生的app
生App vs 移動Web App
Git@OSC 的 Android 和 iOS 客戶端全面開源
每當你打算開發移動應用程序時,都要考慮你的應用如何創建以及如何部署。如今已有兩個主要的方向:原生App 以及 移動Web App。那麼在今天這篇文章中就來比較一下兩者的區別來供大家參考。
原生App vs 移動Web App : 定義
什麼叫做原生App?
原生App是專門針對某一類移動設備而生的,它們都是被直接安裝到設備里,而用戶一般也是通過網路商店或者賣場來獲取例如 The App Store 與 Android Apps on Google Play .
隨便說幾個原生App的例子,比如 iOS 的 Camera+ 以及 Android 的 KeePassDroid
什麼叫做移動Web App?
一般說來,移動Web App都是都是需要用到網路的,它們利用設備上的瀏覽器(比如iPhone的Safari)來運行,而且它們不需要在設備上下載後安裝。
原生App 與 移動Web App的比較
用戶界面
有些公司為同樣的產品製作了原生App與移動Web App,下圖就是Facebook的原生App與移動Web App的界面比較:
注意這兩者的不同地方會產生不同的用戶體驗結果。
開發方面
原生App
每一種移動操作系統都需要獨立的開發項目
每種平台都需要獨立的開發語言。Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)等等
需要使用各自的軟體開發包,開發工具以及各自的控制項
移動Web App
因為運行在移動設備的瀏覽器上,所以只需要一個開發項目
這種應用可以使用HTML5,CSS3以及JavaScript以及伺服器端語言來完成(PHP,Ruby on Rails,Python)
這里可沒有標準的SDK,基本任意選擇
別忘了有一些跨平台的開發工具,比如PhoneGap, Sencha Touch 2以及Appcelerator Titanium等等。
能力方面
原生App
能夠與移動硬體設備的底層功能,比如個人信息,攝像頭以及重力加速器等等
移動Web App
只能使用有限的移動硬體設備功能。
贏利
原生App
可以使用專門的移動平台的廣告,比如AdMob
移動Web App
基本沒有限制,但也沒什麼優勢
注意原生App能夠直接在對應的官方商店進行定價就能馬上贏利,然而移動Web App需要你自己完成付款的系統,這可不是一件簡單的事情。
獲取方法
原生App
直接下載到設備
以獨立的應用程序運行(並不需要瀏覽器)
用戶必須手動去下載並安裝這些原生App
有一些商店與賣場來幫助用戶尋找你的App
移動Web App
從移動設備上的瀏覽器訪問
不需要安裝額外的軟體
軟體更新只需要伺服器就夠了
因為現在沒有什麼商品或賣場提供這種App,所以如何搜索這些移動Web App相當不簡單
版本控制
原生App
用戶可以自由地選擇是否更新軟體版本,所以會出現不同用戶同時使用不同版本的情況
移動Web App
所有的用戶都是用同樣的版本
優勢
原生App
比移動Web App運行快
一些商店與賣場會幫助用戶尋找原生App
官方賣場的應用審核流程會保證讓用戶得到高質量以及安全的App
官方會發布很多開發工具或者人工支持來幫助你的開發
移動Web App
跨平台開發
用戶不需要去賣場來下載安裝App
任何時候都可以發布App,因為根本不需要官方賣場的審核
如果你已經有了一個Web App,你可以使用 responsive web design來輔助改進(這也是優勢?)
缺陷
原生App
開發成本高,尤其是當需要多種移動設備來測試時
因為是不同的開發語言,所以開發,維護成本也高
因為用戶使用的App版本不同,所以你維護起來很困難
官方賣場審核流程復雜且慢,會嚴重影響你的發布進程
移動Web App
無法使用很多移動硬體設備的獨特功能
要同時支持多種移動設備的瀏覽器讓開發維護的成本也不低
如果用戶使用更多的新型瀏覽器,那問題就更不好處理了
對於用戶來說,這種App很難被用戶發現
原生App vs 移動Web App : 你如何選擇?
所以在你准備做移動App時,你應該先問問自己以下幾個問題:
你的應用是否需要使用某些設備的特殊功能,比如攝像頭,攝像頭閃光燈或者重力加速器
你的開發預算
你的應用是否一定需要網路
你的應用的目標硬體設備是所有的移動設備還是僅僅只是一部分而已
你自己已經熟悉的開發語言
這個應用對於性能要求是否苛刻
如何靠這個應用贏利
我想這幾個問題應該能讓你做出明智的選擇。
結論
你的選擇是原生App還是移動Web App,主要受商業目標,目標用戶,以及技術需要這些因素影響的。其實更多時候你也不要為選擇那種App模式煩惱,正如上文提到,類似Facebook這樣的公司就為用戶提供了兩種選擇。然而對於大部分人來說,預算,資源限制將會逼迫我們只能選擇其中一種(或者只能以其中一種為重點)。
『伍』 給Web套個殼讓它變成Android APP,有哪些現有的工具
Appmakr是國外最流行的DIY移動應用開發工具,目前支持iOS、Android和WindowsPhone等系統。Appmakr可以讓用戶無需編程就能創見iOS和Android應用。此外,Appmakr還能將網站連接到應用程序、支持HTML5、推送通知和廣告支持。用戶可以使用自己的開發許可,將應用程序發布到所屬的應用商店中進行推廣。像appmakr這類的工具還有很多,尤其是國內有很多,我給你舉幾個例子。1.APICloudAppmakr雖然好用,但是國外的。在國內使用起來,還是有些麻煩。國內也有這樣的App開發工具——APICloud。APICloud是一款「雲端一體」的移動開發平台。使用APICloud開發平台,是用Web語言去開發iOS和Android應用,這樣將開發難度大幅降低,開發周期縮短將近一倍。此外,APICloud平台上有數百個各式各樣的功能模塊,方便去開發各類App。2.AttendifyAttendify是一個便捷的應用開發服務平台,支持iOS和Android兩大平台,主要是通過提供大量的應用模板來實現快速開發。Attendify支持使用者在創建應用的過程中實時預覽和管理應用,當然,用戶也可以自己DIY。在應用推廣方面,Attendify會把創建好的應用及時發布到AppStore和GooglePlay,幫助用戶推送應用。3.AppsBuilderAppsBuilder是一個跨平台的在線開發工具,為用戶提供快速的原聲應用解決方案。AppsBuilder可實現定製的視覺設計和實現應用跨平台的能力,其內置插件可以將博客網站直接轉換成原生手機應用。AppsBuilder支持的系統平台比較多,包括iPhone、iPad、WindowsPhone、Android、Chrome,甚至還有HTML5,但是AppsBuilder的主要使用者還是非專業的開發人員。4.appMobiAppMobi推出的全新開發工具XDK,使得用戶只要會HTML5、CSS3或JavaScript代碼,就可以使用XDK編寫程序,不需要學習ObjectiveC或下載其他的軟體開發工具包。XDK讓用戶可以使用行業標准來構建應用程序,同時提供了AppMobi自有的JavaScript庫,包含類似轉換濾鏡和滾動條等內容。5.AppMachineAppMachine是一款跨平台的快速開發工具,目前支持iOS和Android兩大主流平台。用戶可以通過修改AppMachine所提供的20種應用設計模板來進行App設計。這樣一來,沒有編程經驗的用戶也可以通過使用AppMachine來創建App。另外用戶也可以自己DIY,添加包括新聞、LBS、社交媒體、拍照、攝像等多個集成內容。除了提供模板,AppMachine也支持自定義。