搜尋

首頁  >  問答  >  主體

android - 请问不懂web开发,直接去学APP开发合适吗?

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

高洛峰高洛峰2867 天前977

全部回覆(11)我來回復

  • ringa_lee

    ringa_lee2017-04-17 16:15:10

    我說說我的學習經驗吧,去年這個時候準備學習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頁面。

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 16:15:10

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

    回覆
    0
  • 迷茫

    迷茫2017-04-17 16:15:10

    一點關係都沒有。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 16:15:10

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

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 16:15:10

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

    回覆
    0
  • PHPz

    PHPz2017-04-17 16:15:10

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

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

    回覆
    0
  • PHPz

    PHPz2017-04-17 16:15:10

    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).

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-17 16:15:10

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

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

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 16:15:10

    想學就學,會慢慢懂的。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 16:15:10

    web app 的本質 還是 web ……

    回覆
    0
  • 取消回覆