android - 请问不懂web开发,直接去学APP开发合适吗?
高洛峰
高洛峰 2017-04-17 16:13:10
0
11
893

如题,这样做会有什么后患吗?我说的是web app,当然不是native app。新人提问求别踩。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(11)
左手右手慢动作

我說說我的學習經驗吧,去年這個時候準備學習android開發,由於沒有java基礎,先學了一段時間java,感覺內容好多,然後看安卓也是一頭霧水,後來開始學html+css,由於興趣,所以很投入,基本網頁佈局,跨平台app,最開始用過phonegap+jquery mobile;期間還用過inter xdk+framework;最後還是在無意中遇到mui,用mui+html5plus開發,還試過apicloud。後來對效能不滿意,學了vuejs,準備看react native的時候發現還不如直接用原生,現在回過頭搞原生安卓。 web app,hybrid app,native app,本質來說是做app,所以說到底還是要對安卓或者ios應用開發的基本流程熟悉,雖然目前有一些第三方提供平台無需學習原生開發就可以開發,確實可以,但是從一個程式猿的發展來說,人還是不能太懶,多學點底層的還是好一些,遇到問題可以自己解決。當然你直接做這種基於h5的app,本質上還是在做web頁面。

左手右手慢动作

技術棧這個東西,不一定懂得越多越好,但是一點不懂肯定是不行。
現在app開發又分兩種,native app和 web app,
你直接去學app開發對開發native app是沒有問題。
建議你還是有空去了解一下。

迷茫

一點關係都沒有。

洪涛

如果你不知道你該學什麼,就去嘗試所有你已知的技術,你就會越來越多無知,這樣你就可以知道你所擅長什麼,你所摯愛什麼。

左手右手慢动作

我覺得不合適,你不懂web怎麼開發webapp?如果整個webapp都是你自己開發的,你都要懂。如果你不負責web部分,那麼web部分,你可以不懂。

PHPzhong

前提是什麼APP開發;混合APP肯定是不行了;原生的和程序溝通幾乎雞同鴨講;更何況webAPP;只能做個美工了;

如果不懂技術堆疊,溝通是最大得障礙;

PHPzhong

WebApp肯定離不開WebView,WebView其實就是一個瀏覽器,只不過它能把用戶保存的密碼保存到你的應用目錄下,比如/data/data/com.example.myapp/app_webview下面,在沒有root過的手機裡,其他應用無法讀到這些使用者保存的密碼資訊.不過WebView裡的重頭戲還是網站開發,所以Web技術(HTML/CSS/JS/PHP/SQL)這些肯定不能丟,你看看下面這個簡單的一個App的程式碼,也就那幾句,所以重頭戲肯定不是Java了:
~/AndroidStudioProjects/myapp/app/src/main/java/com/example/myapp/MainActivity.java

package com.example.myapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {
    private WebView webview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        webview = new WebView(this);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.setWebChromeClient(new WebChromeClient());
        webview.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
        webview.loadUrl("http://segmentfault.com");
        setContentView(webview); //在MainActivity上显示WebView
    }
    @Override
    public boolean onKeyDown(int keyCoder, KeyEvent event) {
        if(keyCoder == KeyEvent.KEYCODE_BACK && webview.canGoBack()) {
            webview.goBack();
            return true;
        }
        return super.onKeyDown(keyCoder, event);
    }
}

然後給應用程式申請網路存取的權限就好了:
~/AndroidStudioProjects/myapp/app/src/main/AndroidManifest.xml

<manifest>节点内加入: <uses-permission android:name="android.permission.INTERNET" />

手機處理器不是PC處理器,所以不要把PC上那一套套的前端框架往WebView裡堆,WebView會吃不消,用個jQuery就足夠了,方便DOM操作和AJAX操作,操作按鈕(鏈接區域)應該做的大一些,跨頁面加載可以用基於HTML5 pushState和AJAX的PJAX(就是Github上代碼目錄的翻頁效果),頂部做個進度條加載提示,不要在一個頁面加載太多東西(瀑布流就不要搞了),比如AJAX加載一部分評論後,應該留一個查看更多的鏈接,打開新頁面查看更多評論,而且頁面盡量做到簡潔,選擇器盡量用ID,也不要過分追求動畫效果了,你要知道,如果動畫都不順暢,這樣的動畫還有什麼意義?基於WebView的WebApp介面,應該大道至簡(Keep It Simple, Stupid).

大家讲道理

個人覺得, 如果連webapp還沒入門, 建議還是直接學原生的app...

一入前端深似海...事情多, 要學的東西多, 關鍵在大部分公司都不遭待見, 工資不要說和APP的比, 就是和後端比都差很多...當然有些大公司會好一些...

Peter_Zhu

想學就學,會慢慢懂的。

Peter_Zhu

web app 的本質 還是 web ……

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板