精华内容
下载资源
问答
  • 哪位大神帮忙说一下WebApp什么啊?怎么写一个WebAPP的程序啊
  • [MUI]初识mui之为什么用mui开发webAPP

    千次阅读 2019-01-19 16:11:44
    什么用mui开发webAPP只用HTML5app带来的问题HTML5plus RuntimeNative.js 只用HTML5app带来的问题 HTML5过去被称为有“性工”障碍,即性能不如原生,工具不如原生、功能不如原生。 HTML5plus Runtime ...

    只用HTML5做app带来的问题

    HTML5过去被称为有“性工能”障碍,即性能不如原生,工具不如原生、功能不如原生。
    在这里插入图片描述

    HTML5plus Runtime

    HTML5plus Runtime,简称5+ Runtime,是运行于手机端的强化web引擎,除了支持标准HTML5外,还支持更多扩展的js api,使得js的能力不输于原生。5+ Runtime内置于HBuilder,在真机运行、打包时自动挂载

    在app开发中,若要使用HTML5+扩展api,必须等plusready事件发生后才能正常使用,否则可能会报“plus is not defined”的错误; mui为简化开发,将plusReady事件封装成了mui.plusReady()方法,凡涉及到HTML5+的api,建议都写在mui.plusReady方法中
    在这里插入图片描述

    Native.js

    原生API在iOS和Android上各自有40多万,有些API并不常用,而且不具有跨平台特性,比如ios的game center api。太多的API封装到HTML5plus里,会过多增加runtime的体积,但若有需求要使用这些api又很麻烦。

    一种把40w原生API映射为JS API的技术

    Native.js技术,简称NJS,是一种将手机操作系统的原生对象转义,映射为JS对象,在JS里编写原生代码的技术

    展开全文
  • 有哥们抱怨:Native App,光是适配测试机的采购预算都吓死人。但是真要讲一句“Nothing but the web”,很难如此潇洒。 好大夫在线也曾经纠结,但已豁然开朗。本文记录一下心路历程,结合一些运营数据,希望...

    经常看到一些创业公司为Native App和Web App的取舍而纠结,在人力、资源、资金都不像大公司那么宽裕的情况下,这确实是鱼和熊掌的问题。

    有哥们抱怨:做Native App,光是适配测试机的采购预算都吓死人。但是真要讲一句“Nothing but the web”,很难如此潇洒。

    好大夫在线也曾经纠结,但已豁然开朗。本文记录一下心路历程,结合一些运营数据,希望能让创业的兄弟们少点纠结,多点从容。

    Native App的运营推广困惑

    大概半年多前,我们还在拼杀Native App。和很多垂直领域一样,医疗健康领域的竞争非常激烈,大家都在上马App,自然而然,在各大商店中,App排序之争火药味十足。

    期间,就运营推广来讲,我们发现了几个问题:

    1、单个用户的获取成本越来越高。相信大家都有同感,无论是iOS还是Android,不管是推荐位,还是iAD、ADmob或者别的,价格都在扶摇直上。

    2、来自官方渠道的site to APP转化率降低。这就像是伐木,刚开始转化率会很高,慢慢的官方渠道用户会榨干到一个瓶颈期。

    3、刷榜泛滥,无序竞争。竞争对手砸钱刷榜,你到底要不要跟?

    4、作为一款医疗类App,绝非高频应用(没人会没事打开一款看病App玩),这导致DAU和安装量的比率极低。说白了,安装量再大,MAU却很小。
    当时公司给我们部门的KPI很简单,就是App的安装量、DAU这些数据,并且眼中盯着的是竞争对手的数据,面对这些问题,我们一度感到无力。

    转变思路,从改变KPI开始

    怎么办?在一次部门例会中,有人提出了一个大胆的问题:是不是我们设定的KPI存在问题?

    是啊,对于一个提供医疗服务的网站来说,我们做移动服务,目的是什么?是追求App的安装量和DAU么?并不是。我们的本质诉求是:让移动网民更加便捷的访问和使用好大夫在线网站。

    很快,我们部门将KPI从对App数据的考核,转变到了“来自移动设备的使用量”。

    目标变了,思路马上就打开了。分析如下:

    1、提高Native App的DAU,且提高单个用户到达页面的次数。此路不通。

    2、尝试将目光转移至Web端。但当时好大夫的移动Web访问体验不佳,流量数据一般。

    机会就在web端。我们商量的对策是,走Webapp路线,尽快让Webapp体验追上Native App,以此带动移动端日均PV的增长。

    和Native App效果对比,很吃惊

    我们开发了触屏版,经过几个月的打磨,它的使用体验基本上与Native App可以做到相当,尤其对于低频需求,比较轻量的Web端,用户更容易接受,这比安装维护一款App要便捷得多。

    我们还使用了百度Site app服务。这个几乎没有开发成本,基本就是套模板的事,且不需要做后期维护。

    很快就看到了效果,我们很吃惊,简单数据对比如下:

    好大夫在线每天来自PC端的PV是1100余万,来自移动端请求的PV是450万。而好大夫在线Native App的安装量是450万,DAU有5万,创造的PV请求大概在十万级别。

    数百万 VS 数十万。这就是Webapp和Native App对好大夫的差别,至少是一个数量级。过去辛辛苦苦做Native App,DAU突破难度极大,如果我们死磕App,也许能把DAU翻一番甚至更多,但如果看齐KPI,确实有点小巫见大巫。

    如何用好百度Site app?

    为什么会有这么大的威力?我们的后台数据发现,80%流量从百度过来,搜索引擎的流量入口价值在移动端一样很猛。这个比例甚至比PC端还高。我们研究了一下原因,除了site app本身在搜索排名上的倾斜,长尾词的流量也占很大比重,这一点是Native app不具备的优势。

    这里我要特别提一下百度的Site app。很多创业者使用它的原因无非有三:1、降低开发成本;2、其模板体验不错,简捷、干净;3、亲百度,对SEO有好处。

    对Site app的利用,好大夫玩了点技巧:我们在主页上加了一段判断代码,如果来自iOS或者高版本的Andorid,给用户反馈的是我们自己开发的触屏版页面,而对于低版Android以及Symbian等系统,反馈Site app页面。

    这样做的好处是,对高端机,可以提供更适合好大夫的体验,对低端机则可以提供更快的加载。

    你应该更重视Webapp运营推广么?

    好大夫的案例不见得适合你。到底什么样的服务应该重视Webapp呢?简单提炼一下。

    1、低频服务。如前文的分析,用户的手机桌面将越来越干净,没人愿意装一大堆一个月用不到一次的App,话费额外的流量去升级它。这是一件痛苦,且不科学的事。

    2、CP类。CP的交互性相对简单,Webapp和Native App的体验差距很容易缩小到接近于0。而且CP很容易通过百度Site app这种傻瓜工具进行转化,开发成本几乎为0。

    需要提醒的是,很多内容型网站在PC时代很重视SEO,但对移动版本的重视度不够,以至于来自移动的PV占比迟迟上不去。根据我们的经验,这一类网站一定要快速做好移动版的优化,把体验做上去,PV一定会上去。

    中国用户有两种极端的典型行为:一种是极依赖App,他们平时甚至很少用浏览器;另一种是排斥App,随时用百度来搜。后者比我们想象的规模要大,百度依然是移动流量分发的绝对垄断型入口。

    Native App和Webapp谁干掉谁,我们真的不需要关心

    对Native App和Webapp之争,很多创业者的心态是:如果我们能预见未来,就可能做出正确的二选一,从而赢得先机。况且,预算不多,只能赌一个。

    去年初,我们看到一位美国的Mobile Web开发者写的一篇文章《“Native vs Web” Is Total Bullshit》,很受启发。作者的两个观点也许可以化解上述困惑:

    1、争论Natvie App和Webapp就好比是争辩“打印”和“数字化办公”,两者有那么对立么?至少在看得见的未来,不会二选一。

    2、移动互联网不是穷人的游戏,如果你舍不得投资,还是别玩了。

    关于体验形态的未来,交给Apple、Google这样的行业巨头,或者评论家,这件事真的和创业者无关。

    所以,需要澄清的是,好大夫在线将重心放在Webapp上,不代表我们放弃Native App,只不过不那么依赖而已。

    展开全文
  •  路由($route)这个东西(也许可以加上$location)可以说是ng最重要的东西了,因为angular目前最重要的作用就是单页面webApp,而路由这个东西是做到页面跳转的关键。 一.单页面webApp  为什么叫单页面webApp?...

      路由($route)这个东西(也许可以加上$location)可以说是ng最重要的东西了,因为angular目前最重要的作用就是做单页面webApp,而路由这个东西是能做到页面跳转的关键。

    一.单页面webApp

      为什么叫单页面webApp?因为它是单页面的。额,关键在于我们看到的不少webApp是多页面的啊,可以从一页跳到另一页。嗯,看起来是这样,不过实际上这几页实际还是一个页面,因为它们是一次性加载进来的,至于为啥会有跳转效果呢?嗯,有点儿像选项卡,嗯。其实现原理在html5之前是通过hashbang,H5是History。这篇文章主要讨论的是hashbang。为什么要用#呢?当然我们可以直接多页面,就跟做网站一样。但是这么做最大的问题是:每次切换都需要重新加载页面。我们可以接受进入一个app的时候多花几秒加载,而在使用App的时候切换页面的时候多等个一两秒就会给用户一种这app好卡的感觉。

      另外webApp另外一个好处就是可以减轻服务器压力,后台只管给数据。嗯,其实我不是很懂这一点。。以后再补充吧。

     

    二.路由(ng-route)

      那么怎么把单页面webapp(SPA)做成多页面的样子呢?就是怎么来管理这些页面呢?就要靠路由了。

      来个案例,这是一个信息管理系统,管用户注册,注销,用户列表,用户详情之类的东西。

    <!DOCTYPE html>
    <html lang="en" ng-controller="userlist">
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
    <div>
        <table>
            <tr ng-repeat="x in data" ng-click="detail($index)">
                <td>{{ x.name }}:{{ x.password }}<a href="#ddd/{{$index}}">查看详情</a></td>
            </tr>
        </table>
    </div>
    </body>
    </html>

      html我就粘一部分,这一部分是显示用户列表的,点击对应用户需要显示它们的对应信息。为什么选这一部分,是因为这里需要做地址传参。

      再看看对应的管路由跳转的js代码

    m1.config(["$routeProvider",function($routeProvider){
            $routeProvider.when("/aaa",{
                templateUrl:"register.html",
                controller:"register"
            }).when("/bbb",{
                templateUrl:"cancel.html",
                controller:"cancel"
            }).when("/ccc",{
                        templateUrl:"userlist.html",
                        controller:"userlist"
                    })
                    .when("/ddd/:index",{
                templateUrl:"detail.html",
                controller:"detail"
            })
                    .otherwise({redirectTo:"/aaa"});
        }])

      其中

    .when("/ddd/:index",{
          templateUrl:"detail.html",
          controller:"detail"
    })

      对应着用户列表页面。

      首先,m1.config(["$routeProvider",function($routeProvider)])是注入模块的过程,因为ng-route是一个独立于ng之外的模块,是一个独立的js文件。

      然后,when函数的参数,第一个是url地址(后面接的:index待会讲地址传参的时候再说)。templateUrl是转到的页面地址(内容少的话可以用template),controller写跳转到的页面的控制器。

      跳转之后的页面url大概是长这样的:http://localhost:63342/%E8%B7%AF%E7%94%B1/index.html#/ddd

      最后说说地址传参的问题,在详细页中,我们只需要显示对应的一个人的信息,就是说不管你点谁的详情显示的一个页面,但是你需要告诉详情页点击的究竟是哪个按钮,我该渲染哪个。代码里的:index代表着你点击的用户的列表索引(就是你点击的是第几个用户),传索引是因为用户信息数据是用数组存的。在列表页中,这个变量叫index或者啥的都无所谓,因为这只是占了个坑,代表这里传的值可以用这个变量来取(当然这个名字在跳转过去的详情页是有用的)。

      再看看对应的html怎么写的:

    <tr ng-repeat="x in data" ng-click="detail($index)">
           <td>{{ x.name }}:{{ x.password }}<a href="#ddd/{{$index}}">查看详情</a></td>
    </tr>

      这里的$index对应的就是点击的这个tr在这个表格中的索引,确切的来说是x是data中的第几项。index就对应了{{$index}}。

      如果加上了参数的话,跳转页的url长这样:http://localhost:63342/%E8%B7%AF%E7%94%B1/index.html#/ddd/0

      后面多加的这个0就是传的参数了,想要在跳转页取到这个参数,可以用$routeParams

    m1.controller("detail",["$scope","$routeParams",function($scope,$routeParams){
        $scope.index=$routeParams.index;
    }]);

      就是说,这里$routeParams.index中的index对应着在when函数中写的那个。

      说句题外话,之前我不用地址传参的时候,实现”多页面"通信的方式是在$rootScope里写个属性存上要传的数据,毕竟ng只有一个$rootScope。虽然没想出这么做有什么不妥,但是内心当中总觉得好别扭。

     

    文章来源:http://www.cnblogs.com/zhangdongming/p/5397180.html

    展开全文
  • 项目初始 在一个阳光明媚的下午,学院就业指导老师让我们每个人一份简历,然后打印上交。后回到宿舍,苦苦在网上寻找,未果。...后来良心隐隐作痛,于是打算开发一款在线编辑简历的webAPP,就随...
        

    项目初始

    在一个阳光明媚的下午,学院就业指导老师让我们每个人做一份简历,然后打印上交。后回到宿舍,苦苦在网上寻找,未果。因为不要钱的模板太丑,好看的模板得花钱...,像我等穷逼,哪里有什么闲钱。于是,果断下载了个丑不拉几的模板,打开word随便填了填交了上去......

    后来良心隐隐作痛,于是打算开发一款能在线编辑简历的webAPP,就随手将脑海中的想法写了下来:

    图片描述

    接下了就是使用vue-cli初始化项目、下载依赖等常规操作...

    大家可以去我的GitHub地址,查看具体的项目源码:https://github.com/bjw1234/v_...
    欢迎star谢谢各位大佬...

    也可以直接点击该网址运行项目:
    http://resume.baijiawei.top

    我主要把我遇到的一些小问题,以及把配置服务器的过程记录下了,以供以后参考学习使用...

    inline-block元素垂直居中

    .content{
        display:inline-block;
    }
    
    .wrapper:before{
        content:"";
        display:inline-block;
        height:100%;
        vertical-align:middle;
    }
    
    .content{
        vetical-align:middle;
    }
    

    自定义组件嵌套

    在组建中使用<slot></slot>插槽,那么在父组件中可以将内容填充到插槽中。

    动态设置图片的的路径

    通过v-for指令渲染时,图片的路径需要父组件动态传递,父组件只是传过来的图片的名称。这时我们可以这样做:

    <img :src=val( item.icon )>
    
    // val是一个函数
    val(icon){
        return require('./'+icon);
    }

    plceHolder改变其颜色

      ::-webkit-input-placeholder { /* WebKit browsers */
        color: #fff;
      }
    
      :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
        color: #fff;
      }
    
      ::-moz-placeholder { /* Mozilla Firefox 19+ */
        color: #fff;
      }
    
      :-ms-input-placeholder { /* Internet Explorer 10+ */
        color: #fff;
      }

    非父子组件之间通信

    思路:创建一个事件中心,相当于中继站,可以用来传递事件和接收事件。
    
    // 在main.js中,将这个事件中继站添加到Vue的原型链上
    Vue.protype.$hub = new Vue();
    
    // 在不同组件之间通过这个中继站收发数据
    
    // 组件A发数据
     this.$hub.$emit('saveAs', 'png');
     
    // 组件B接收数据
        created: function () {     
          this.$hub.$on('saveAs', (type) => {
            // 执行对应的操作
          });
        }

    HTML页面以png、pdf格式保存

    • 使用的第三方模块
    // 下载模块
    npm install jspdf html2canvas --save-dev
    • 具体实例
      // 用户点击保存
      saveAsType(type) {
        // png保存
        if (type === 'png') {
          let resume = document.getElementById('pageDefault');
          html2canvas(resume).then(function (canvas) {
            canvas.toBlob(function (blob) {
              fileSaver.saveAs(blob, 'Resume.png');
            });
          });
        }
        // pdf保存
        if (type === 'pdf') {
          let resume = document.getElementById('pageDefault');
          html2canvas(resume).then(function (canvas) {
            // 通过html2canvas将html渲染成canvas,然后获取图片数据
            let imgData = canvas.toDataURL('image/jpeg');
    
            // 初始化pdf,设置相应格式
            let doc = new JsPDF('p', 'mm', 'a4');
    
            // 这里设置的是a4纸张尺寸
            doc.addImage(imgData, 'JPEG', 0, 0, 210, 297);
    
            // 输出保存命名为content的pdf
            doc.save('resume.pdf');
          });
        }
      }

    ES6模块 Modules

    在模块中可以使用importexport关键字。

    注意: export命令规定的是对外的接口,必须与模块内部的变量建立一一对应关系。

    • 想要导出模块的功能有很多方法,其中最简单的方式是添加export关键字。
    
    // 导出方法
    export function a(){
        // xxxxx
    }
    
    // 导出类
    export class Person {
        // xxxxx
    }
    
    // 报错
    var m = 1;
    export m;
    
    // 写法一
    export var m = 1;
    
    // 写法二
    var m = 1;
    export {m};
    
    // 写法三
    var n = 1;
    export {n as m};
    
    // 这三种写法都是正确的。
    
    
    // 报错
    function f() {}
    export f;

    或者也可以采用这样的方式:

    export {detectCats, Kittydar};
    // 此处不需要 `export`关键字
    function detectCats(canvas, options) { ... }
    class Kittydar { ... }

    你可以导出所有的最外层函数、类以及var、let或const声明的变量。

    • 在另一个模块中导入其他模块。
    import { a, Person } from 'xxxx.js';
    
    • 重命名import和export

    导入时的重命名

    // 基本语法
    import { 模块名称 as 重名后的名称 } from 'xxxx.js';
    
    import {flip as flipOmelet} from "eggs.js";
    

    当然,导出时也可以重命名

    function v1() { ... }
    function v2() { ... }
    
    export {
      v1 as streamV1,
      v2 as streamV2,
      v2 as streamLatestVersion
    };
    • Default exports
    // b.js
    export default {
      // 其中可以加入任何你想加入的内容。
    }
    
    // a.js
    import b from 'b.js';
    • 模块对象
    import * as cows from 'cows.js';
    
    // 当你import * 时,导入的其实是一个模块命名空间对象,模块将它的所有属性都导出了。
    // 所以如果“cows”模块导出一个名为moon()的函数,然后用上面这种方法“cows”将其全部导入后,
    // 你就可以这样调用函数了:cows.moo()。
    • 聚合模块

    有时一个程序包中主模块的代码比较多,为了简化这样的代码,
    可以用一种统一的方式将其它模块中的内容聚合在一起导出,
    可以通过这种简单的方式将所有所需内容导入再导出:

    // world-foods.js - 来自世界各地的好东西
    
    // 导入"sri-lanka"并将它导出的内容的一部分重新导出
    export {Tea, Cinnamon} from "sri-lanka";
    
    // 导入"equatorial-guinea"并将它导出的内容的一部分重新导出
    export {Coffee, Cocoa} from "equatorial-guinea";

    Vue style的scope属性

    当<style>标签有scoped属性时,它的css只作用于当前组件中的元素。

    有作用域的 CSS

    <style scoped>
    .example {
      color: red;
    }
    </style>
    
    <template>
      <div class="example">hi</div>
    </template>

    转换结果:

    <style>
    .example[data-v-f3f3eg9] {
      color: red;
    }
    </style>
    
    <template>
      <div class="example" data-v-f3f3eg9>hi</div>
    </template>

    混用本地和全局样式

    你可以在一个组件中同时使用有作用域和无作用域的样式:

    <style>
    /* 全局样式 */
    </style>
    
    <style scoped>
    /* 本地样式 */
    </style>

    子组件的根元素

    使用 scoped 后,父组件的样式将不会渗透到子组件中。不过一个子组件的根节点会同时受其父组件有作用域的 CSS 和子组件有作用域的 CSS 的影响。这样设计是为了让父组件可以从布局的角度出发,调整其子组件根元素的样式。

    深度选择器

    如果你希望 scoped 样式中的一个选择器能够作用得“更深”,例如影响子组件,你可以使用 >>> 操作符。

    有些像 Sass 之类的预处理器无法正确解析 >>>。这种情况下你可以使用 /deep/ 操作符取而代之——这是一个 >>> 的别名,同样可以正常工作。

    CentOS下安装Nginx并部署Node项目、vue项目


    安装编译工具及库文件

    yum -y install make zlib zlib-devel gcc-c++ libtool pcre pcre-devel  openssl openssl-devel

    使用wget命令下载 Nginx

    wget -c https://nginx.org/download/nginx-1.12.2.tar.gz 

    解压

    tar -zxvf nginx-1.12.2.tar.gz
    cd nginx-1.12.2

    配置

    // 使用默认配置
    ./configure

    编译安装

    make
    make install
    
    // 查找安装路径
    whereis nginx
    

    启动、停止 Nginx

    cd /usr/local/nginx/sbin/
    ./nginx
    ./nginx -s stop
    ./nginx -s quit
    ./nginx -s reload
    
    
    ./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
    ./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
    
    
    查询nginx进程:
    ps aux|grep nginx

    重启 Nginx

    1.先停止再启动(推荐):
    对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。
    如下:

    ./nginx -s quit
    ./nginx

    2.重新加载配置文件:
    当 nginx的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,
    执行以下命令即可:

    ./nginx -s reload

    启动成功后,在浏览器可以看到这样的页面:
    图片描述

    如果操作正确的话,按照以上的命令已经安装好了Nginx。

    部署Node项目

    // 启动项目
    pm2 start app.js
    // 该项目运行在8080端口上

    打开 /usr/local/nginx/conf/nginx.conf文件:

    添加以下内容:

        server {
    
          listen     80;
          #域名
          server_name     baijiawei.top www.baijiawei.top;
    
          location / {
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header Host  $http_host;
              proxy_set_header X-Nginx-Proxy true;
              proxy_set_header Connection "";
              #代理地址
              proxy_pass  http://127.0.0.1:8080;
              root  blog;
          }
    }

    重新载入配置文件

    ./nginx -s reload 

    OK,那么现在就可以通过自己配置的域名进行访问啦!

    ps:
    我的顶级域名:http://baijiawei.top
    当然为了更好的利用域名资源,也可以使用二级域名:

    例如:
    http://blog.baijiawei.top
    http://resume.baijiawei.top

    Nginx 作为http服务器访问静态资源

    Nginx配置二级子域名

    第一步

    去自己域名控制台添加解析,这里以添加resume前缀为例:

    我用的是阿里云服务器,在控制面板点击添加域名,输入域名名称点击确定即可。 例如:(resume.baijiawei.top)

    图片描述

    第二步

    nginx根目录下也就是nginx/html中添加一个文件夹,文件夹名称为第一步中二级域名的前缀,也就是resume,
    然后将你的Vue项目或者其他项目添加入该文件夹中。

    第三步

    添加配置文件

    进入 /usr/local/nginx/conf/目录下:

    打开nginx.conf配置文件,添加以下内容:

        #  基于Vue的resume项目    
        server {        
            
            listen       80;             # 监听的端口号 
            server_name  resume.baijiawei.top;   #  二级域名
    
            location / {
                root   html/resume/dist;     # 你的项目地址
                index  index.html index.htm;   # 入口文件
            }
    
            error_page  404    /404.html;      # 404
    
            error_page   500 502 503 504  /50x.html; # 服务器端错误页面
            location = /50x.html {           # 页面地址
                root   html;
            }
        }
        
        # 当然还有一些其他的配置项,
        # 可以依据需要自行添加。
        #
        

    第四步

    重新加载nginx配置文件,就可以开开心心在电脑上去访问自己的项目啦。

    ./nginx -s reload    

    大家可以去我的GitHub地址,查看具体的项目源码:https://github.com/bjw1234/v_...

    文章写到这里差不多就可以结束啦......

    展开全文
  • 关于webApp响应式设计遇到的问题,分享给大家,最近在一个手机webApp,因为我手机是”米3“,屏幕截图大小是1080宽,所以css样式用 @media screen and(min-width:1080px){ ...... },来判断屏幕最小宽度是1080px的...
  • 最近在一个手机webApp,因为我手机是”米3“,屏幕截图大小是1080宽,所以css样式用@media screen and(min-width:1080px){ …… },来判断屏幕最小宽度是1080px的手机web显示什么样的样式,结果却不正常显示我所...
  • 现在的前端开发可谓是,百花齐放啦,什么都可以,只有想不到没有不到的,今天就简单的介绍用vue,ng或者是react开发的单页应用如何打包为apk,在移动设备上运行。这里以vue为例,其他的差不多,大家可以根据自己...
  • 因为angular目前最重要的作用就是单页面webApp,而路由这个东西是做到页面跳转的关键。 1.单页面webApp什么叫单页面webApp?因为它是单页面的。。。。额。。。关键在于我们看到的不少webApp是多页面的啊,...
  • 最近在一个手机webApp,因为我手机是”米3“,屏幕截图大小是1080宽,所以css样式用@mediascreenand(min-width:1080px){ …… },来判断屏幕最小宽度是1080px的手机web显示什么样的样式,结果却不正常显示我所...
  • mui+vue实现webapp的手机物理键监听

    千次阅读 2018-06-01 10:48:32
    由于本人还是菜鸟,如果文章中有什么错误、不当之处,还请大神们指出。 由于项目需求,vue前端技术打包成的app必须对手机的返回键需要进行监听。在网上大量然后自己拼凑成了相对于我的项目可行的方法,希望帮到...
  • 查阅了相关资料后了一些总结,希望对大家有帮助。   首先我们需要了解一些基本的概念,什么是物理像素、设备独立像素、设备像素比等等。在这里我就不给大家解释了,推荐给大家一个连接,写的很nice。 移动端...
  • 调用call方法时第一个参数是指定用什么命令调用分享组件。目前支持6个命令。分别是 default 默认,调用起底部的分享组件,当其他命令不支持的时候也会调用该命令 wechatTimeline 分享到朋友圈 wechatFriend 分享给...
  • JavaScript是什么

    2020-07-06 21:55:55
    1.JavaScript是什么? JavaScript是一种直译式脚本语音,是一种动态的,弱类型的,基于...2.js能做什么? 网页前端开发(Javascript的老本行) 移动开发 webapp 混合式应用 网站后端开发(Node.js可以让js在后端运行)
  • 学习Web前端开发能干什么

    千次阅读 2019-08-07 11:15:53
    那么,Web前端开发工程师能做什么呢?今天,小编告诉你。 一、WebApp开发 随着互联网速度和前端技术的发展,越来越多的大型企业开始将他们的软件搬到了Web上。比如:微软就把所有的office系列全部搬到了Web上,而...
  • java:ant有什么好处

    2013-01-11 11:41:03
    用eclipse开发,会自动编译,也有debug调试,发布到tomcat的webapp目录等功能 为什么还要用ant呢,一直没搞懂它有什么用 答案1: 你习惯了Eclipse那就没什么用 ant编辑部署打包比较方便,特别是打包...
  • java ant有什么好处

    2013-01-11 11:41:00
    用eclipse开发,会自动编译,也有debug调试,发布到tomcat的webapp目录等功能 为什么还要用ant呢,一直没搞懂它有什么用 答案1: 你习惯了Eclipse那就没什么用 ant编辑部署打包比较方便,特别是打包,...
  • 回家google搜索了下,不知各位还补充下呢? 谢谢 google搜索结果:“DefaultServlet被定义在$CATALINA_HOME/conf/web.xml中,配置文件中被定义的东西会在Tomcat启动的时候被加载,对所有的webapp都有效。Default...
  • 还是在qq音乐webApp~快完成了,在ios上测试的时候,发现所有audio的音乐都不播放 几经搜索,找到了黄轶老师的一篇踩坑笔记 笔记中写的很多,关于为什么audio在ios上不播放的根本原因和解决思路,受益颇多,感兴趣...
  • 然而由于 JS 单线程的执行方式以及其动态语言的特性,速度始终有瓶颈,虽然开发普通的网页或者 WebApp 没有什么影响,但速度慢还是限制了前端能做更多的事情。 目前能实现前端代码加速的方法主要有三种: WebWorker...
  • 1.开始是我下了几个spring 和 quarte的jar包加入我的lib下,然后我实验,试验过后我删掉这些jar包,原因是我的这些jar包没什么用了,然后出现这样的情况 看套图 我先删掉jar包 我是在lib目录下删掉...
  • 很多文件中都是包的路径错误,这是什么情况啊,。。。。应该怎么解决呢??? 这里是包的路径import com.baomidou.mybatisplus.annotation.TableId; 生成的是import com.baomidou.mybatisplus.annotations.TableId...
  •  断点的过程中发现saveTest(),已经return success了,但就是不正确定位到feedbacks.html</p>  请问: 这是什么原因呢?    </p><br />问题补充:</strong><br />路径应该没问题的 edit()方法在success...
  • 一般的网页能做的uniapp都能做,uniapp不能做的,一般的网页也做不了。 区别在于unapp不支持dom操作(H5端有dom对象)、不支持过滤器,这和微信小程序是一致的。 如果只开发h5用不用uni-app没什么区别吧 地址:
  • 但是如果你正在一款与用户有着强交互的WebAPP程序,比如一个html5小游戏或者图片处理工具什么的,那么依赖默认模拟恐怕不满足产品的需求。  一个通常的建议是:在iPad上(或者说各个移动终端上),你的WebAPP应该...
  • 初识spring cloud stream

    2020-06-24 14:52:11
    能做什么?为什么要引入他? spring cloud stream中文指导手册地址:m.wang1314.com/doc/webapp/topic/20971999.html spring cloud stream通过Binder作为绑定层来实现隔离: spring cloud stream常用注解...
  • 记一次node.js爬虫可能知识搞的...在之前看到网上有前端做的仿网易webapp音乐项目,我啥时候能做一个类似音乐的webapp? 今天我就下手酷狗,有关的思路也是找的csdn的教程首先!js导入三个模块cheerio mysql re...
  • lab02-Prothean051-源码

    2021-02-20 06:48:07
    能做什么 mvn compile 应该导致干净的编译 mvn test 运行一次成功的测试 mvn package 构建jar文件target/gs-spring-boot-0.1.0.jar java -jar target/gs-spring-boot-0.1.0.jar 如果在mvn package之后完成,...
  • 前言 近期杂事甚多,这些事情的积累对知识体系的提升有好处,但是却不整理出来...又拿最近做webapp view 转场动画研究,就是几个demo不断测试,感觉没有什么可说的 最后甚至对webapp中的History的处理方案也是有一...

空空如也

空空如也

1 2 3 4
收藏数 72
精华内容 28
关键字:

webapp能做什么