recherche

Maison  >  Questions et réponses  >  le corps du texte

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

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

高洛峰高洛峰2772 Il y a quelques jours900

répondre à tous(11)je répondrai

  • 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页面。

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-17 16:15:10

    技术栈这个东西,不一定懂得越多越好,但是一点不懂肯定是不行。
    现在app开发又分两种,native app和 web app,
    你直接去学app开发对开发native app是没有问题。
    建议你还是有空了解一下。

    répondre
    0
  • 迷茫

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

    一点关系都没有。

    répondre
    0
  • PHP中文网

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

    如果你不知道你该学什么,就去尝试所有你已知的技术,你就会越来越多无知,这样你就可以知道你所擅长什么,你所挚爱什么。

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-17 16:15:10

    我觉得不合适,你不懂web怎么开发webapp?如果整个webapp都是你自己开发的,你都要懂。如果你不负责web部分,那么web部分,你可以不懂。

    répondre
    0
  • PHPz

    PHPz2017-04-17 16:15:10

    前提是什么APP开发;混合APP肯定是不行了;原生的和程序沟通几乎鸡同鸭讲;更何况webAPP;只能做个美工了;

    如果不懂技术栈,沟通是最大得障碍;

    répondre
    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).

    répondre
    0
  • 大家讲道理

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

    个人觉得, 如果连webapp还没入门, 建议还是直接学原生的app...

    一入前端深似海...事情多, 要学的东西多, 关键在大部分公司都不遭待见, 工资不要说和APP的比, 就是和后端比都差很多...当然一些大公司会好一些...

    répondre
    0
  • 天蓬老师

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

    想学就学,会慢慢懂的。

    répondre
    0
  • 天蓬老师

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

    web app 的本质 还是 web ……

    répondre
    0
  • Annulerrépondre