Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 久久一区二区三区不卡,国产午夜精品鲁丝片,亚洲性夜色夜夜综合网

          整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          Serverless 實戰(zhàn):如何為你的頭像增加點裝飾

          Serverless 實戰(zhàn):如何為你的頭像增加點裝飾?

          到大型節(jié)假日,我們常會發(fā)現(xiàn)社交平臺都會提供生成頭像裝飾的小工具,很是新奇好玩。如果從技術(shù)的維度看,這類平臺 / 工具一般都是通過下面兩個方法給我們生成頭像裝飾的:

          • 一是直接加裝飾,例如在頭像外面加邊框,在下面加 logo 等;
          • 二是通過機器學(xué)習(xí)算法增加裝飾,例如增加一個圣誕帽等;

          使用 Serverless 直接增加頭像裝飾

          增加頭像裝飾的功能其實很容易實現(xiàn),首先選擇一張圖片,上傳自己的頭像,然后函數(shù)部分進行圖像的合成,這一部分并沒有涉及到機器學(xué)習(xí)算法,僅僅是圖像合成相關(guān)算法。

          通過用戶上傳的圖片,在指定位置增加預(yù)定圖片 / 用戶選擇的圖片作為裝飾物進行添加:

          • 將預(yù)定圖片 / 用戶選擇的圖片進行美化,此處僅是將其變成圓形:

          復(fù)制代碼

          def do_circle(base_pic):    icon_pic=Image.open(base_pic).convert("RGBA")    icon_pic=icon_pic.resize((500, 500), Image.ANTIALIAS)    icon_pic_x, icon_pic_y=icon_pic.size    temp_icon_pic=Image.new('RGBA', (icon_pic_x + 600, icon_pic_y + 600), (255, 255, 255))    temp_icon_pic.paste(icon_pic, (300, 300), icon_pic)    ima=temp_icon_pic.resize((200, 200), Image.ANTIALIAS)    size=ima.size     # 因為是要圓形,所以需要正方形的圖片    r2=min(size[0], size[1])    if size[0] !=size[1]:        ima=ima.resize((r2, r2), Image.ANTIALIAS)     # 最后生成圓的半徑    r3=60    imb=Image.new('RGBA', (r3 * 2, r3 * 2), (255, 255, 255, 0))    pima=ima.load()  # 像素的訪問對象    pimb=imb.load()    r=float(r2 / 2)  # 圓心橫坐標(biāo)     for i in range(r2):        for j in range(r2):            lx=abs(i - r)  # 到圓心距離的橫坐標(biāo)            ly=abs(j - r)  # 到圓心距離的縱坐標(biāo)            l=(pow(lx, 2) + pow(ly, 2)) ** 0.5  # 三角函數(shù) 半徑             if l < r3:                pimb[i - (r - r3), j - (r - r3)]=pima[i, j]    return imb 
          • 添加該裝飾到用戶頭像上:

          復(fù)制代碼

          def add_decorate(base_pic):    try:        base_pic="./base/%s.png" % (str(base_pic))        user_pic=Image.open("/tmp/picture.png").convert("RGBA")        temp_basee_user_pic=Image.new('RGBA', (440, 440), (255, 255, 255))        user_pic=user_pic.resize((400, 400), Image.ANTIALIAS)        temp_basee_user_pic.paste(user_pic, (20, 20))        temp_basee_user_pic.paste(do_circle(base_pic), (295, 295), do_circle(base_pic))        temp_basee_user_pic.save("/tmp/output.png")        return True    except Exception as e:        print(e)        return False
          • 除此之外,為了方便本地測試,項目增加了test()方法模擬 API 網(wǎng)關(guān)傳遞的數(shù)據(jù):

          復(fù)制代碼

          def test():    with open("test.png", 'rb') as f:        image=f.read()        image_base64=str(base64.b64encode(image), encoding='utf-8')    event={        "requestContext": {            "serviceId": "service-f94sy04v",            "path": "/test/{path}",            "httpMethod": "POST",            "requestId": "c6af9ac6-7b61-11e6-9a41-93e8deadbeef",            "identity": {                "secretId": "abdcdxxxxxxxsdfs"            },            "sourceIp": "14.17.22.34",            "stage": "release"        },        "headers": {            "Accept-Language": "en-US,en,cn",            "Accept": "text/html,application/xml,application/json",            "Host": "service-3ei3tii4-251000691.ap-guangzhou.apigateway.myqloud.com",            "User-Agent": "User Agent String"        },        "body": "{\"pic\":\"%s\", \"base\":\"1\"}" % image_base64,        "pathParameters": {            "path": "value"        },        "queryStringParameters": {            "foo": "bar"        },        "headerParameters": {            "Refer": "10.0.2.14"        },        "stageVariables": {            "stage": "release"        },        "path": "/test/value",        "queryString": {            "foo": "bar",            "bob": "alice"        },        "httpMethod": "POST"    }    print(main_handler(event, None))  if __name__=="__main__":    test()
          • 為了讓函數(shù)有同一個返回規(guī)范,此處增加統(tǒng)一返回的函數(shù):

          復(fù)制代碼

          def return_msg(error, msg):    return_data={        "uuid": str(uuid.uuid1()),        "error": error,        "message": msg    }    print(return_data)    return return_data
          • 最后是涂口函數(shù)的寫法:

          復(fù)制代碼

          import base64, jsonfrom PIL import Imageimport uuid  def main_handler(event, context):    try:        print(" 將接收到的 base64 圖像轉(zhuǎn)為 pic")        imgData=base64.b64decode(json.loads(event["body"])["pic"].split("base64,")[1])        with open('/tmp/picture.png', 'wb') as f:            f.write(imgData)         basePic=json.loads(event["body"])["base"]        addResult=add_decorate(basePic)        if addResult:            with open("/tmp/output.png", "rb") as f:                base64Data=str(base64.b64encode(f.read()), encoding='utf-8')            return return_msg(False, {"picture": base64Data})        else:            return return_msg(True, " 飾品添加失敗 ")    except Exception as e:        return return_msg(True, " 數(shù)據(jù)處理異常: %s" % str(e))

          完成后端圖像合成功能,制作前端頁面:

          復(fù)制代碼

          <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>2020 頭像大變樣 - 頭像 SHOW - 自豪的采用騰訊云 Serverless 架構(gòu)!</title>    <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">    <meta name="apple-mobile-web-app-capable" content="yes">    <meta name="apple-mobile-web-app-status-bar-style" content="black">    <script type="text/javascript">        thisPic=null        function getFileUrl(sourceId) {            var url;            thisPic=document.getElementById(sourceId).files.item(0)            if (navigator.userAgent.indexOf("MSIE") >=1) { // IE                url=document.getElementById(sourceId).value;            } else if (navigator.userAgent.indexOf("Firefox") > 0) { // Firefox                url=window.URL.createObjectURL(document.getElementById(sourceId).files.item(0));            } else if (navigator.userAgent.indexOf("Chrome") > 0) { // Chrome                url=window.URL.createObjectURL(document.getElementById(sourceId).files.item(0));            }            return url;        }        function preImg(sourceId, targetId) {            var url=getFileUrl(sourceId);            var imgPre=document.getElementById(targetId);            imgPre.aaaaaa=url;            imgPre.style="display: block;";        }        function clickChose() {            document.getElementById("imgOne").click()        }        function getNewPhoto() {            document.getElementById("result").innerText=" 系統(tǒng)處理中,請稍后..."            var oFReader=new FileReader();            oFReader.readAsDataURL(thisPic);            oFReader.onload=function (oFREvent) {                var xmlhttp;                if (window.XMLHttpRequest) {                    // IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執(zhí)行代碼                    xmlhttp=new XMLHttpRequest();                } else {                    // IE6, IE5 瀏覽器執(zhí)行代碼                    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");                }                xmlhttp.onreadystatechange=function () {                    if (xmlhttp.readyState==4 && xmlhttp.status==200) {                        if (JSON.parse(xmlhttp.responseText)["error"]) {                            document.getElementById("result").innerText=JSON.parse(xmlhttp.responseText)["message"];                        } else {                            document.getElementById("result").innerText=" 長按保存圖像 ";                            document.getElementById("new_photo").aaaaaa="data:image/png;base64," + JSON.parse(xmlhttp.responseText)["message"]["picture"];                            document.getElementById("new_photo").style="display: block;";                        }                    }                }                var url=" http://service-8d3fi753-1256773370.bj.apigw.tencentcs.com/release/new_year_add_photo_decorate"                var obj=document.getElementsByName("base");                var baseNum="1"                for (var i=0; i < obj.length; i++) {                    console.log(obj[i].checked)                    if (obj[i].checked) {                        baseNum=obj[i].value;                    }                }                xmlhttp.open("POST", url, true);                xmlhttp.setRequestHeader("Content-type", "application/json");                var postData={                    pic: oFREvent.target.result,                    base: baseNum                }                xmlhttp.send(JSON.stringify(postData));            }        }    </script>    <!-- 標(biāo)準(zhǔn) mui.css-->    <link rel="stylesheet" href="./css/mui.min.css"></head><body><h3 style="text-align: center; margin-top: 30px">2020 頭像 SHOW</h3><div class="mui-card">    <div class="mui-card-content">        <div class="mui-card-content-inner">            第一步:選擇一個你喜歡的圖片        </div>    </div>    <div class="mui-content">        <ul class="mui-table-view mui-grid-view mui-grid-9">            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3"><label>                <img aaaaaa="./base/1.png" width="100%"><input type="radio" name="base" value="1" checked></label></li>            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3"><label>                <img aaaaaa="./base/2.png" width="100%"><input type="radio" name="base" value="2"></label></li>            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3"><label>                <img aaaaaa="./base/11.png" width="100%"><input type="radio" name="base" value="11"></label></li>            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3"><label>                <img aaaaaa="./base/4.png" width="100%"><input type="radio" name="base" value="4"></label></li>            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3"><label>                <img aaaaaa="./base/5.png" width="100%"><input type="radio" name="base" value="5"></label></li>            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3"><label>                <img aaaaaa="./base/6.png" width="100%"><input type="radio" name="base" value="6"></label></li>            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3"><label>                <img aaaaaa="./base/12.png" width="100%"><input type="radio" name="base" value="12"></label></li>            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3"><label>                <img aaaaaa="./base/8.png" width="100%"><input type="radio" name="base" value="8"></label></li>            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3"><label>                <img aaaaaa="./base/3.png" width="100%"><input type="radio" name="base" value="3"></label></li>        </ul>    </div></div><div class="mui-card">    <div class="mui-card-content">        <div class="mui-card-content-inner">            第二步:上傳一張你的頭像        </div>        <div>            <form>                <input type="file" name="imgOne" id="imgOne" onchange="preImg(this.id, 'photo')" style="display: none;"                       accept="image/*">                <center style="margin-bottom: 10px">                    <input type="button" value=" 點擊此處上傳頭像 " onclick="clickChose()"/>                    <img id="photo" aaaaaa="" width="300px" , height="300px" style="display: none;"/>                </center>            </form>        </div>    </div></div><div class="mui-card">    <div class="mui-card-content">        <div class="mui-card-content-inner">            第三步:點擊生成按鈕獲取新年頭像        </div>        <div>            <center style="margin-bottom: 10px">                <input type="button" value=" 生成新年頭像 " onclick="getNewPhoto()"/>                <p id="result"></p>                <img id="new_photo" aaaaaa="" width="300px" , height="300px" style="display: none;"/>            </center>        </div>    </div></div><p style="text-align: center">    本項目自豪的 <br> 通過 Serverless Framework<br> 搭建在騰訊云 SCF 上</p></body></html>

          完成之后:

          復(fù)制代碼

          new_year_add_photo_decorate:  component: "@serverless/tencent-scf"  inputs:    name: myapi_new_year_add_photo_decorate    codeUri: ./new_year_add_photo_decorate    handler: index.main_handler    runtime: Python3.6    region: ap-beijing    description: 新年為頭像增加飾品    memorySize: 128    timeout: 5    events:      - apigw:          name: serverless          parameters:            serviceId: service-8d3fi753            environment: release            endpoints:              - path: /new_year_add_photo_decorate                description: 新年為頭像增加飾品                method: POST                enableCORS: true                param:                  - name: pic                    position: BODY                    required: 'FALSE'                    type: string                    desc: 原始圖片                  - name: base                    position: BODY                    required: 'FALSE'                    type: string                    desc: 飾品 ID myWebsite:  component: '@serverless/tencent-website'  inputs:    code:      src: ./new_year_add_photo_decorate/web      index: index.html      error: index.html    region: ap-beijing    bucketName: new-year-add-photo-decorate

          完成之后就可以實現(xiàn)頭像加裝飾的功能,效果如下:

          Serverless 與人工智能聯(lián)手增加頭像裝飾

          直接加裝飾的方式其實是可以在前端實現(xiàn)的,但是既然用到了后端服務(wù)和云函數(shù),那么我們不妨就將人工智能與 Serverless 架構(gòu)結(jié)果來實現(xiàn)一個增加裝飾的小工具。

          實現(xiàn)這一功能的主要做法就是通過人工智能算法 (此處是通過 Dlib 實現(xiàn)) 進行人臉檢測:

          復(fù)制代碼

          print("dlib 人臉關(guān)鍵點檢測器, 正臉檢測 ")predictorPath="shape_predictor_5_face_landmarks.dat"predictor=dlib.shape_predictor(predictorPath)detector=dlib.get_frontal_face_detector()dets=detector(img, 1)

          此處的做法是只檢測一張臉,檢測到即進行返回:

          復(fù)制代碼

          for d in dets:    x, y, w, h=d.left(), d.top(), d.right() - d.left(), d.bottom() - d.top()     print(" 關(guān)鍵點檢測,5 個關(guān)鍵點 ")    shape=predictor(img, d)     print(" 選取左右眼眼角的點 ")    point1=shape.part(0)    point2=shape.part(2)     print(" 求兩點中心 ")    eyes_center=((point1.x + point2.x) // 2, (point1.y + point2.y) // 2)     print(" 根據(jù)人臉大小調(diào)整帽子大小 ")    factor=1.5    resizedHatH=int(round(rgbHat.shape[0] * w / rgbHat.shape[1] * factor))    resizedHatW=int(round(rgbHat.shape[1] * w / rgbHat.shape[1] * factor))     if resizedHatH > y:        resizedHatH=y - 1     print(" 根據(jù)人臉大小調(diào)整帽子大小 ")    resizedHat=cv2.resize(rgbHat, (resizedHatW, resizedHatH))     print(" 用 alpha 通道作為 mask")    mask=cv2.resize(a, (resizedHatW, resizedHatH))    maskInv=cv2.bitwise_not(mask)     print(" 帽子相對與人臉框上線的偏移量 ")    dh=0    bgRoi=img[y + dh - resizedHatH:y + dh,            (eyes_center[0] - resizedHatW // 3):(eyes_center[0] + resizedHatW // 3 * 2)]     print(" 原圖 ROI 中提取放帽子的區(qū)域 ")    bgRoi=bgRoi.astype(float)    maskInv=cv2.merge((maskInv, maskInv, maskInv))    alpha=maskInv.astype(float) / 255     print(" 相乘之前保證兩者大小一致(可能會由于四舍五入原因不一致)")    alpha=cv2.resize(alpha, (bgRoi.shape[1], bgRoi.shape[0]))    bg=cv2.multiply(alpha, bgRoi)    bg=bg.astype('uint8')     print(" 提取帽子區(qū)域 ")    hat=cv2.bitwise_and(resizedHat, cv2.bitwise_not(maskInv))     print(" 相加之前保證兩者大小一致(可能會由于四舍五入原因不一致)")    hat=cv2.resize(hat, (bgRoi.shape[1], bgRoi.shape[0]))    print(" 兩個 ROI 區(qū)域相加 ")    addHat=cv2.add(bg, hat)     print(" 把添加好帽子的區(qū)域放回原圖 ")    img[y + dh - resizedHatH:y + dh,    (eyes_center[0] - resizedHatW // 3):(eyes_center[0] + resizedHatW // 3 * 2)]=addHat     return img

          在 Serverless 架構(gòu)下的完整代碼:

          復(fù)制代碼

          import cv2import dlibimport base64import json  def addHat(img, hat_img):    print(" 分離 rgba 通道,合成 rgb 三通道帽子圖,a 通道后面做 mask 用 ")    r, g, b, a=cv2.split(hat_img)    rgbHat=cv2.merge((r, g, b))     print("dlib 人臉關(guān)鍵點檢測器, 正臉檢測 ")    predictorPath="shape_predictor_5_face_landmarks.dat"    predictor=dlib.shape_predictor(predictorPath)    detector=dlib.get_frontal_face_detector()    dets=detector(img, 1)     print(" 如果檢測到人臉 ")    if len(dets) > 0:        for d in dets:            x, y, w, h=d.left(), d.top(), d.right() - d.left(), d.bottom() - d.top()             print(" 關(guān)鍵點檢測,5 個關(guān)鍵點 ")            shape=predictor(img, d)             print(" 選取左右眼眼角的點 ")            point1=shape.part(0)            point2=shape.part(2)             print(" 求兩點中心 ")            eyes_center=((point1.x + point2.x) // 2, (point1.y + point2.y) // 2)             print(" 根據(jù)人臉大小調(diào)整帽子大小 ")            factor=1.5            resizedHatH=int(round(rgbHat.shape[0] * w / rgbHat.shape[1] * factor))            resizedHatW=int(round(rgbHat.shape[1] * w / rgbHat.shape[1] * factor))             if resizedHatH > y:                resizedHatH=y - 1             print(" 根據(jù)人臉大小調(diào)整帽子大小 ")            resizedHat=cv2.resize(rgbHat, (resizedHatW, resizedHatH))             print(" 用 alpha 通道作為 mask")            mask=cv2.resize(a, (resizedHatW, resizedHatH))            maskInv=cv2.bitwise_not(mask)             print(" 帽子相對與人臉框上線的偏移量 ")            dh=0            bgRoi=img[y + dh - resizedHatH:y + dh,                    (eyes_center[0] - resizedHatW // 3):(eyes_center[0] + resizedHatW // 3 * 2)]             print(" 原圖 ROI 中提取放帽子的區(qū)域 ")            bgRoi=bgRoi.astype(float)            maskInv=cv2.merge((maskInv, maskInv, maskInv))            alpha=maskInv.astype(float) / 255             print(" 相乘之前保證兩者大小一致(可能會由于四舍五入原因不一致)")            alpha=cv2.resize(alpha, (bgRoi.shape[1], bgRoi.shape[0]))            bg=cv2.multiply(alpha, bgRoi)            bg=bg.astype('uint8')             print(" 提取帽子區(qū)域 ")            hat=cv2.bitwise_and(resizedHat, cv2.bitwise_not(maskInv))             print(" 相加之前保證兩者大小一致(可能會由于四舍五入原因不一致)")            hat=cv2.resize(hat, (bgRoi.shape[1], bgRoi.shape[0]))            print(" 兩個 ROI 區(qū)域相加 ")            addHat=cv2.add(bg, hat)             print(" 把添加好帽子的區(qū)域放回原圖 ")            img[y + dh - resizedHatH:y + dh,            (eyes_center[0] - resizedHatW // 3):(eyes_center[0] + resizedHatW // 3 * 2)]=addHat             return img  def main_handler(event, context):    try:        print(" 將接收到的 base64 圖像轉(zhuǎn)為 pic")        imgData=base64.b64decode(json.loads(event["body"])["pic"])        with open('/tmp/picture.png', 'wb') as f:            f.write(imgData)         print(" 讀取帽子素材以及用戶頭像 ")        hatImg=cv2.imread("hat.png", -1)        userImg=cv2.imread("/tmp/picture.png")         output=addHat(userImg, hatImg)        cv2.imwrite("/tmp/output.jpg", output)         print(" 讀取頭像進行返回給用戶,以 Base64 返回 ")        with open("/tmp/output.jpg", "rb") as f:            base64Data=str(base64.b64encode(f.read()), encoding='utf-8')         return {            "picture": base64Data        }    except Exception as e:        return {            "error": str(e)        }

          這樣,我們就完成了通過用戶上傳人物頭像進行增加圣誕帽的功能。

          總結(jié)

          傳統(tǒng)情況下,如果我們要做一個增加頭像裝飾的小工具,可能需要一個服務(wù)器,哪怕沒有人使用,也必須有一臺服務(wù)器苦苦支撐,這樣導(dǎo)致有時僅僅是一個 Demo,也需要無時無刻的支出成本。但在 Serverless 架構(gòu)下,其彈性伸縮特點讓我們不懼怕高并發(fā),其按量付費模式讓我們不懼怕成本支出。

          關(guān)注我并轉(zhuǎn)發(fā)此篇文章,私信我“領(lǐng)取資料”,即可免費獲得InfoQ價值4999元迷你書!

          的。目前零基礎(chǔ)學(xué)UI設(shè)計,有兩種方法,一種是自學(xué),另一種就是報班系統(tǒng)培訓(xùn)學(xué)習(xí),當(dāng)然,想自學(xué)實現(xiàn)高薪就業(yè)的機會是渺小的。

          而能夠快速實現(xiàn)高薪就業(yè)的高效學(xué)習(xí)方法,就是報名我們學(xué)院全新升級的線上UI零基礎(chǔ)就業(yè)班課程,享有專業(yè)老師授課系統(tǒng)培訓(xùn)學(xué)習(xí)。

          從零基礎(chǔ)到高級商業(yè)實戰(zhàn)案例項目訓(xùn)練,全套課程由多位行業(yè)一線資深級UI設(shè)計師在線直播授課,課后全天一對一學(xué)習(xí)輔導(dǎo)和答疑,學(xué)完課程后享有全程輔導(dǎo)就業(yè)和推薦名企工作。

          以上5個班課程內(nèi)容全年不定期更新課時內(nèi)容,凡是報名了課程的VIP學(xué)員,三年內(nèi)都享有同步免費更新最新課時,行業(yè)設(shè)計趨勢與時俱進,一直都在不斷的創(chuàng)新改變,讓你每一年都可以學(xué)到行業(yè)最新的一些設(shè)計技能。

          如果你是零基礎(chǔ)想轉(zhuǎn)行學(xué)想學(xué)好UI設(shè)計就業(yè),那么就不要錯過我們此次升級的最新一期的UI設(shè)計全能就業(yè)班課程,讓你學(xué)有所成。

          「全套UI設(shè)計全能就業(yè)班VIP課程怎么教學(xué)?」

          授課方式:在線直播授課+直播回放+錄播+課后全天輔導(dǎo)的學(xué)習(xí)方式。

          授課時間:周一到周六全天可學(xué)習(xí)課程,直播授課每天晚上8點-10點。

          全天輔導(dǎo):在直播課堂學(xué)習(xí)可與老師,同學(xué)互動交流,學(xué)習(xí)過程中遇到不懂的隨時可找老師解決,課后全天都有專業(yè)老師在線一對一學(xué)習(xí)輔導(dǎo)。

          1.專業(yè)師資:8個老師 +兩個助教+專屬班主任

          2.課程回放:提供回播視頻,三年內(nèi)隨時可看

          3.專屬課堂:在直播課堂上,不懂的可隨時問

          4.獨立班群:建有獨立班群,課后全天有答疑

          5.作業(yè)點評:課后作業(yè)布置,課前會點評作業(yè)

          6.免費復(fù)訓(xùn):沒完全學(xué)會的,可繼續(xù)免費復(fù)學(xué)

          7.就業(yè)推薦:全程輔導(dǎo)就業(yè),學(xué)完后推薦工作

          8.學(xué)習(xí)保障:簽訂學(xué)習(xí)協(xié)議,繳費后可開發(fā)票

          UI設(shè)計全能就業(yè)班全套課程包含下圖11個班內(nèi)容,培訓(xùn)費用統(tǒng)一優(yōu)惠價 3999元

          (活動優(yōu)惠價往下看↓)

          有想要報班,從零基礎(chǔ)開始到高級系統(tǒng)培訓(xùn)學(xué)習(xí)UI設(shè)計班的同學(xué),請加老師微信:booklet1加我時請備注:報名UI就業(yè)班

          想學(xué)不夠錢的同學(xué),還可以使用信用卡、支付寶花唄、京東白條分期助學(xué),分3期可享受免息,最長可分12期,每月僅需300多。

          另外,報班的同學(xué)還能獲得以下額外福利 ↓↓↓↓

          「六一節(jié)活動,凡是報名UI設(shè)計全能班的課程」

          1、每天前10名報名可領(lǐng)取200元優(yōu)惠券,即學(xué)費只要3799元

          2、贈送一套價值2000元的游戲UI設(shè)計實戰(zhàn)案例課。

          3、贈送一門價值1000元的高級UI設(shè)計案例特訓(xùn)課。

          4、贈送一份價值500元的UI設(shè)計素材模板珍藏禮包。

          5、贈送一套UI設(shè)計學(xué)習(xí)專用軟件禮包一份。



          01、我們的平臺怎么樣?

          目前我們是國內(nèi)最大的在線教育培訓(xùn)機構(gòu)之一,學(xué)院成立至今已有11年,也是國內(nèi)最多UI設(shè)計學(xué)員選擇的在線學(xué)習(xí)平臺。


          截止到現(xiàn)在,我們學(xué)院VIP學(xué)員已超過150萬+,學(xué)員們來自全球各地都有,百萬學(xué)員都選擇的學(xué)習(xí)平臺專業(yè)可靠。


          02、教學(xué)質(zhì)量有保障嗎?

          每一位報名的學(xué)員都配備有專屬的班主任,學(xué)習(xí)過程全程督促,學(xué)習(xí)進度全程跟蹤,分班教學(xué),每個班級都配備有多位授課老師,課后學(xué)習(xí)中遇到有任何問題,都可以隨時問老師解決。


          03、師資力量怎么樣?

          我們的UI設(shè)計授課教學(xué)老師一共有8位,全部都是高薪聘請的全職一線資深UI設(shè)計講師,老師在課堂授課時會把他們以前在企業(yè)工作中的商業(yè)設(shè)計項目和工作經(jīng)驗帶到課堂傳授給學(xué)員。


          04、培訓(xùn)費用是多少?

          我們的UI設(shè)計全能就業(yè)班,全套課程培訓(xùn)優(yōu)惠學(xué)費: 3999元 ,可以說是全國性價比最高的UI培訓(xùn)班,讓你學(xué)到的技能一定對得起你所交的學(xué)費,家庭條件不好的學(xué)員還支持分期助學(xué)。


          05、培訓(xùn)時間是多久?

          正常一期培訓(xùn)4個月時間,只要你用心認真跟著課程內(nèi)容去學(xué)習(xí)和按時交作業(yè),4個月都能學(xué)會,如果4個月還沒有學(xué)會,可以免費繼續(xù)學(xué)下一期班,學(xué)會為止,而且中途不加收任何其他費用。


          06、學(xué)完有工作推薦嗎?

          有的,主要以互聯(lián)網(wǎng)公司就業(yè)為主,也可以自己去找,學(xué)會UI技能后,不用擔(dān)心沒工作,我們有專門的就業(yè)指導(dǎo)老師,簡歷制作,面試技巧,面試作品集設(shè)計,都會教你,讓你就業(yè)無憂。


          07、學(xué)完就業(yè)薪資有多少?

          學(xué)完課程后剛出去工作6000-13000元范圍,由于每個人學(xué)習(xí)力不同,所在城市不同,就業(yè)公司不同,學(xué)完月薪就在這個范圍,北上廣深一線城市薪資相對高一點,工作積累到有一定經(jīng)驗后待遇也會提升到2以上。


          08、能邊上學(xué)邊上班學(xué)嗎?

          可以,課程可以隨時隨地全天在線學(xué)習(xí),只要你有電腦就能學(xué),不管你在哪個城市,還是在家里,在學(xué)校里面,都可以學(xué)習(xí),不用辭職或住宿來學(xué)習(xí)。


          09、課程教學(xué)內(nèi)容有哪些?

          我們的全套UI設(shè)計全能實戰(zhàn)就業(yè)班,課程體系包括7個班階段,軟件階段,GUI視覺設(shè)計,WUI網(wǎng)頁設(shè)計,Web前端,MUI移動端設(shè)計,UI交互設(shè)計,UI動效設(shè)計,UE用戶體驗設(shè)計等內(nèi)容。

          10、課程教學(xué)軟件有哪些?

          課程教學(xué)軟件包括有:Photoshop(PS)、Illustrator(AI)、After Effects (AE)、Axure RP(ARP)、Dreamweaver(DW)、CINEMA 4D(C4D)XD、cutterman切圖插件,Mark man標(biāo)注軟件等。

          11、教學(xué)方式是怎樣的?

          專業(yè)老師在課堂直播授課,學(xué)員邊聽課邊跟著老師的操作去實操,學(xué)習(xí)過程中,遇到有不理解的可以在課堂及時問老師,課后也還有一套完整超清的錄播課可以全天隨時學(xué)習(xí)。

          12、沒空上課可以回看嗎?

          可以,比如你今天突然有事,不能及時來上課,課后可以隨時看回播,每一節(jié)直播課我們都會全程錄制下來,所以不用擔(dān)心錯過任何一節(jié)課,回播課時可以快進,快退,暫停。


          13、課后學(xué)習(xí)有輔導(dǎo)嗎?

          報名以后,會邀請你加入UI設(shè)計VIP學(xué)員學(xué)習(xí)服務(wù)班級群,群里全天都配備有課后輔導(dǎo)老師在線一對一輔導(dǎo)和答疑,學(xué)習(xí)課程時遇到不懂的問題,可以隨時問老師解決。


          14、課后會布置作業(yè)嗎?

          有的,為了保證學(xué)習(xí)效果,報名的每一位學(xué)員都要交作業(yè)和學(xué)習(xí)筆記,剛開始學(xué)習(xí)基礎(chǔ)班時需要做筆記,因為設(shè)計基礎(chǔ)很重要,學(xué)完基礎(chǔ)班后,學(xué)習(xí)設(shè)計技能階段,此時課堂老師就會不定期布置作業(yè),課后老師會統(tǒng)一檢查點評作業(yè) 。


          15、可以手機學(xué)習(xí)課程嗎?

          可以,通過下載我們的手機APP,平板APP,還有電腦直播教學(xué)課堂PC客戶端,手機還可以緩存下載課時到手機上,沒有網(wǎng)絡(luò)也可以學(xué)習(xí)觀看。


          16、沒學(xué)會可以免費復(fù)學(xué)嗎?

          報名后,課程享有三年有效期,課程三年內(nèi)都可以隨時反復(fù)學(xué)習(xí)觀看,提供三年免費復(fù)學(xué)保障和終身售后解答學(xué)習(xí)服務(wù),工作以后,在工作中遇到的難題,也還可以咨詢老師解答。


          17、支持哪些方式繳費?

          我們的官網(wǎng)課程付款和國內(nèi)各大銀行都有合作,基本支持所有在線支付方式,銀行卡,信用卡,支付寶,微信,螞蟻花唄,京東白條等都可以。

          18、學(xué)費可以分期付嗎?

          可以,針對家庭條件不是很好的學(xué)員,可以申請分期助學(xué),還可以使用支付寶花唄分期,京東白條分期,最長可以分12月,每個月僅需330多元。


          19、繳費后有收據(jù)發(fā)票嗎?

          有的。我們是國家批準(zhǔn)的知名在線教育培訓(xùn)機構(gòu),每一個學(xué)員報名后都有收據(jù)和可以開發(fā)票,發(fā)票有電子發(fā)票和紙質(zhì)發(fā)票兩種,可自行選擇。


          20、學(xué)習(xí)流程是怎樣的?


          21、零基礎(chǔ)可以學(xué)習(xí)嗎?

          可以,每個人學(xué)習(xí)UI設(shè)計都是要從零基礎(chǔ)學(xué)起的,沒有人天生就有UI設(shè)計基礎(chǔ),所以不用擔(dān)心沒有任何基礎(chǔ),而報班后也是從0基礎(chǔ)開始教起。


          22、沒有美術(shù)基礎(chǔ)能學(xué)嗎?

          可以,UI設(shè)計的美術(shù)基礎(chǔ)只適用于游戲UI設(shè)計,在我們的UI設(shè)計班課程里面也有教學(xué)美術(shù)基礎(chǔ)和手繪圖標(biāo),所以不用擔(dān)心沒有美術(shù)基礎(chǔ)。


          23、學(xué)歷不高可以學(xué)習(xí)嗎?

          可以,一般的UI設(shè)計工作大多數(shù)都是互聯(lián)網(wǎng)公司,卡能力嚴(yán)格一些,部分公司要求要大專以上學(xué)歷,如果學(xué)歷不高可以能力來奏,只要你的設(shè)計能力夠牛,有很多公司都會放寬要求。


          24、學(xué)會后能進哪些公司?

          學(xué)會以后,可以從事各大互聯(lián)網(wǎng)公司,比如百度,騰訊,阿里,華為,小米,京東,天貓,搜狐,新浪,網(wǎng)易,聯(lián)想,美團,滴滴,微信,支付寶,以及中小企業(yè)等。


          25、課程適合那些人學(xué)習(xí)?

          在校大學(xué)生,在職上班,無業(yè)人員,或想轉(zhuǎn)行UI設(shè)計的,比如:美工,白領(lǐng),前臺,文員,客服,會計,司機,教師,醫(yī)生,工人,主播,快遞員,服務(wù)員,公務(wù)員,銷售員等都適合學(xué)習(xí)。


          上課時間安排,在任何時間、地點,只要你想學(xué)習(xí)都可以隨時隨地學(xué)習(xí),特別適合時間不固定的上班族,課程是采用:老師真人直播授課、視頻同步錄制回放、全天7*12小時老師在線解答的學(xué)習(xí)方式。

          本套高級UI設(shè)計全能實戰(zhàn)就業(yè)班,是我們學(xué)院UI設(shè)計教學(xué)團隊老師們花了將近一年時間,收集了上百家名企的招聘工作崗位要求和商業(yè)項目設(shè)計案例,以及問卷調(diào)查后,精心研發(fā)的一套2019年行業(yè)最新UI設(shè)計師全能就業(yè)班課程。

          點擊下面課程表可放大觀看↓↓

          很高興你能看到這篇文章,這是我們?nèi)躑I設(shè)計師就業(yè)班的培訓(xùn)課程,報班老師微信號:booklet1 添加老師請備注:報名UI設(shè)計課程。


          UI設(shè)計全套課程直播授課共有140節(jié),每節(jié)課教學(xué)時長2小時,包含7個班內(nèi)容,由8位全職一線資深UI設(shè)計師授課。除了直播授課,還有500節(jié)錄播課400節(jié)直播回放課,合計超過1000節(jié)課時。


          課程教學(xué)內(nèi)容全新升級后,融入了UI設(shè)計行業(yè)所有最新設(shè)計技能,結(jié)合百度、騰訊、阿里、美團、京東、華為、網(wǎng)易、新浪、搜狐、蘋果公司等知名互聯(lián)網(wǎng)公司招聘要求,以名企就業(yè)為導(dǎo)向。



          聘請從事5年以上的工作經(jīng)驗老師授課,每一位老師講自己最擅長專業(yè)。


          全套UI設(shè)計全能就業(yè)班,課程體系主要分為以下八大學(xué)習(xí)階段↓↓


          一、UI設(shè)計美術(shù)階段


          學(xué)習(xí)內(nèi)容:素描關(guān)系、光照現(xiàn)象、光影繪制、透視、基礎(chǔ)造型、構(gòu)圖原理、手繪圖標(biāo)


          完成作品:UI設(shè)計手繪圖標(biāo)



          二、UI設(shè)計軟件階段


          學(xué)習(xí)內(nèi)容:PS+AI+AE+ARP軟件從基礎(chǔ)到精通


          完成作品:熟練PS+AI+AE+ARP軟件




          三、UI設(shè)計案例階段


          學(xué)習(xí)內(nèi)容 : 布爾運算技法、扁平化圖標(biāo)、擬物化圖標(biāo)、系統(tǒng)圖標(biāo)


          完成作品:系統(tǒng)圖標(biāo)、擬物化圖標(biāo)、扁平化圖標(biāo)



          四、UI交互設(shè)計階段


          學(xué)習(xí)內(nèi)容:交互原型圖、交互邏輯理論、線框圖設(shè)計、頭腦風(fēng)暴講解、ARP軟件運用


          完成作品:低保真原型圖、高保真原型圖



          五、UI視覺設(shè)計階段


          學(xué)習(xí)內(nèi)容:廣告banner、APP界面、版式布局、安卓規(guī)范、蘋果規(guī)范、色彩搭配、用戶體驗


          完成作品:APP設(shè)計作品



          六、UI動效設(shè)計階段


          學(xué)習(xí)內(nèi)容:AE軟件運用、UI圖標(biāo)交互動效、UI界面交互動效


          完成作品:APP交互動效作品



          七、UI網(wǎng)頁設(shè)計階段


          學(xué)習(xí)內(nèi)容:Web界面設(shè)計規(guī)范、多風(fēng)格多類型界面設(shè)計、網(wǎng)站宣傳品設(shè)計、電商專題、產(chǎn)品宣傳頁設(shè)計、網(wǎng)頁Banner廣告設(shè)計


          完成作品:企業(yè)網(wǎng)站與個人網(wǎng)站作品



          八、就業(yè)指導(dǎo)階段


          學(xué)習(xí)內(nèi)容:如何找工作、和面試官如何談話、作品集如何制作、簡歷如何制


          完成作品:面試作品集+高逼格作品簡歷



          「全套UI設(shè)計全能就業(yè)班VIP課程怎么教學(xué)?」


          下圖是我們學(xué)院的UI設(shè)計老師和教學(xué)團隊,如果有同學(xué)是在廣州的或者在附近城市的,可隨時來參觀考察。

          經(jīng)過10多年在線教育培訓(xùn)歷程,我們學(xué)院榮獲了多項設(shè)計行業(yè)教學(xué)大獎,得到了社會和廣大學(xué)員們的認可與厚愛


          附上兩張官網(wǎng)UI設(shè)計社區(qū)VIP學(xué)員作業(yè)和學(xué)習(xí)筆記,報名的每一個學(xué)員都會很認真交作業(yè)和做筆記,課后老師統(tǒng)一點評作業(yè)。

          報名后加入UI設(shè)計VIP班級群,群里全天都有課后輔導(dǎo)老師在線學(xué)習(xí)輔導(dǎo)和答疑,遇到不懂的問題,可以直接找到老師解決。下面是部分報名UI設(shè)計的VIP學(xué)員售后班級群,群里全天都有老師在線一對一學(xué)習(xí)輔導(dǎo)和答疑


          近期報名UI設(shè)計VIP課程學(xué)員相冊:

          另外,報名全能UI設(shè)計就業(yè)班的學(xué)員,額外再免費贈送一套價值2000元的游戲UI設(shè)計課程(共包含6個班,近600課時)↓↓


          想加入新一新課程學(xué)習(xí)的同學(xué),

          直接加我的微信號 booklet1

          也可以按住下面二維碼直接識別我的微信添加

          如果資金有限的也可以申請分期報名,

          支持花唄、白條、信用卡分期

          分期的話最高可分一年。

          每個月有360元即可學(xué)習(xí)。


          加好友備注:報名UI課程。

          我這邊會第一時間通過,然后辦理報名

          輯導(dǎo)語: 組件庫是設(shè)計系統(tǒng)里的一個重要分支,一個合適的組件庫可以幫助設(shè)計師和開發(fā)者提高工作效率;本文作者分享了關(guān)于各個大廠已經(jīng)成形的組件庫,一起來看一下。

          最近為了給部門制定合理的設(shè)計規(guī)范,方便各個團隊更好的高效協(xié)作;為此參考了許多國內(nèi)外優(yōu)秀的設(shè)計規(guī)范,趁著這次機會做一個整理,而且這些設(shè)計規(guī)范基本上都是附帶 Sketch 源文件的。

          但實際上組件庫的整理工作也是比較繁復(fù)的,我們在開始之前,需要去判斷什么情況下組件庫可以真正為我們節(jié)省工作量提升效率;而這些已經(jīng)成形的組件庫,非常值得大家下載學(xué)習(xí)、參考和使用。

          一、大廠

          1. ANT Design(螞蟻金服)

          螞蟻金服出品,非常著名的框架;企業(yè)級產(chǎn)品的設(shè)計系統(tǒng),很多公司的項目都在使用,而且提供了對設(shè)計師友好的Sketch規(guī)范文件,可以直接拿來用。

          官方鏈接:https://ant.design/

          源文件規(guī)范下載:https://ant.design/docs/resources

          移動端: AntDesignMobile Template V1.0.sketch

          首頁: Ant.Design.home-3.0.sketch

          Pro: Ant.Design.Pro.sketch

          web端: Ant.Design.3.0.Components.sketch

          2. AntV Charts(螞蟻金服)

          AntV是螞蟻金服全新一代數(shù)據(jù)可視化解決方案,致力于提供一套簡單方便、專業(yè)可靠、無限可能的數(shù)據(jù)可視化最佳實踐。(包含PC和移動端)

          源文件規(guī)范下載:https://antv-2018.alipay.com/zh-cn/vis/resource/index.html

          附件下載: AntV.Charts.sketch

          3. Element UI(餓了么)

          這是由餓了么 UED 設(shè)計開發(fā)的基于 Vue 的前端組件庫,雖然在很多交互模式和組件樣式以及設(shè)計理念上都參考了 Ant Design,但是也做了一些自己的修改和調(diào)整。

          他們同樣也推出了 Axure 元件庫文件以及 Sketch 組件庫,有興趣的朋友可以參考研究一下。

          源文件規(guī)范下載:https://element.eleme.cn/#/zh-CN/resource

          附件下載: Element UI Kit_v2.0.sketch

          3. Zan Design System(有贊)

          服務(wù)于 SaaS 產(chǎn)品的設(shè)計體系。連接設(shè)計和開發(fā),讓協(xié)作變得高效簡單;通過沉淀不同行業(yè)、場景的經(jīng)驗和思考,推動社交生態(tài)內(nèi)的用戶體驗一致性。

          源文件規(guī)范下載:https://design.youzan.com/resource/resource.html

          桌面端視覺規(guī)范: Zan Desgin PC_2.0_beta.sketch

          視覺規(guī)范: Zan Design Vant 視覺規(guī)范 V3.0 .sketch

          元件庫: Zan Design Vant 元件庫 TC_ZY.zip

          4. Mand Mobile(滴滴)

          面向金融場景的Vue移動端UI組件庫,豐富、靈活、實用,快速搭建優(yōu)質(zhì)的金融類產(chǎn)品,讓復(fù)雜的金融場景變簡單。

          源文件規(guī)范下載:https://didi.github.io/mand-mobile/#/en-US/design/other/resource

          5. Taro UI(京東)

          Taro UI,一套基于 Taro 框架開發(fā)的多端 UI 組件庫,可以在微信小程序 / H5 / ReactNative 等多端適配運行。京東用戶體驗設(shè)計部的凹凸實驗室出品。

          源文件規(guī)范下載:https://taro-ui.aotu.io/#/docs/resource

          附件下載: TaroUI.sketch

          Axure部件庫: taroui-rplib1565263474229.zip

          6. AT UI(京東)

          AT-UI 是一款基于 Vue.js 2.0 的前端 UI 組件庫,主要用于快速開發(fā) PC 網(wǎng)站中后臺產(chǎn)品。

          源文件規(guī)范下載:https://at-ui.github.io/at-ui/#/zh/resource/design

          附件下載: feather.sketch

          7. WeUI(微信)

          由微信團隊推出的可以用于微信小程序設(shè)計的 Sketch 組件庫,用起來也很方便,有微信端設(shè)計需求的朋友可以參考。

          源文件規(guī)范下載:https://developers.weixin.qq.com/miniprogram/design/#%E5%9B%BE%E6%A0%87

          8. QMUI(騰訊)

          QMUI,騰訊出品,分為Web、iOS、安卓三個端,都有相應(yīng)的dome下載安裝;設(shè)計師可以下載安卓和iOS應(yīng)用,經(jīng)常看看里面的組件,熟悉后,和技術(shù)的協(xié)作會更有效率。

          官方文檔:https://qmuiteam.com/web/page/widget.html

          二、國外

          1. Apple UI Design Resources

          iOS 的設(shè)計規(guī)范其實并沒有 Material Design 那么具體和細節(jié),但作為一個 iOS 平臺的設(shè)計人員還是需要把它們的設(shè)計理念爛熟于胸。

          對于 iOS 平臺的 Sketch 組件庫,我只推薦兩個,一個是 Facebook 推出的 iOS 10 組件庫,另外一個是由 Apple 官方推出的組件庫,同樣都有 Sketch 源文件。

          源文件規(guī)范下載:https://developer.apple.com/design/resources/

          2. Android Material Design

          由 Google 設(shè)計團隊推出的 Material Design 一經(jīng)發(fā)布就紅遍了全球設(shè)計界,多個富有突破性的設(shè)計理念,將理性與感性相結(jié)合的完美標(biāo)準(zhǔn),使得越來越多的人基于 Material Design 制作了自己產(chǎn)品的設(shè)計規(guī)范。

          除了谷歌官方的 Sketch 組件庫外,還有一個基于 Material Design 色板的 Sketch 源文件下載,用起來非常方便。

          源文件規(guī)范下載:https://material.io/resources#sticker-sheets-icons-components

          Material Design 官方相關(guān)源文件下載

          Material Design 色板 Sketch 源文件下載

          3. Clarity Design

          Teambition出品。Clarity Design 是一套全面的設(shè)計語言,從設(shè)計原則到字體排版,從交互到文案,從動效到樣式,從組件到設(shè)計工具…… 提供了各種解決方法和指導(dǎo),設(shè)計師和工程師可以快速找到相關(guān)的指導(dǎo)內(nèi)容,有效地幫助完善工作并且提高效率。

          源文件規(guī)范下載:https://design.teambition.com/resource/design-resource

          4. Polaris

          由國外 Shopify 團隊推出的 Polaris 設(shè)計規(guī)范也有比較不錯的參考價值,而且內(nèi)容非常豐富完整,感興趣的朋友可以查看官方文檔好好研究一下,他們同樣提供 Sketch 組件庫。

          源文件規(guī)范下載:https://polaris.shopify.com/resources/resources

          5. Atlassian Design

          由國外知名軟件企業(yè) Atlassian 推出的設(shè)計語言,涵蓋了品牌、營銷、產(chǎn)品相關(guān)的設(shè)計規(guī)范和理念,其豐富程度僅次于 Material Design,可以說給了設(shè)計師很多參考與幫助,另外還提供了非常完整詳細的 Sketch 組件庫,強烈推薦大家研究學(xué)習(xí)!

          源文件規(guī)范下載:https://atlassian.design/resources/sketch-library

          6. Lightning Design System

          Lightning Design System 是由 Salesforce 團隊推出的一個設(shè)計規(guī)范,它們的規(guī)范文檔也是相當(dāng)完整而且可參考性很強,推薦大家研究,同時它們也有 Sketch 組件庫可供下載。

          官方文檔:https://www.lightningdesignsystem.com/

          源文件規(guī)范下載:https://github.com/salesforce-ux/design-system-ui-kit/blob/master/README.md

          7. 全球大公司組件庫集合

          源文件規(guī)范下載:https://www.figma.com/community/ui_kits

          https://www.figma.com/community/ui_kits

          三、其他

          1. H5/觸屏

          開源前端組件&交互Demo

          官方文檔:http://vue.ydui.org/demo/#/

          http://vue.ydui.org/demo/#/

          2. iview

          一套基于 Vue.js 的高質(zhì)量UI 組件庫。Vue.js 是一個JavaScriptMVVM庫,是一套構(gòu)建用戶界面的漸進式框架;在網(wǎng)站中可以看到數(shù)量眾多的UI組件和對應(yīng)代碼,本質(zhì)上和我們制作UI規(guī)范是一樣的。

          官方文檔:https://www.iviewui.com/

          3. MacOS UI Library

          非官方,由 Sketch 團隊維護

          源文件規(guī)范下載:https://www.sketch.com/downloads/mac/

          4. Ant V

          規(guī)范文檔:https://mobile.ant.design/index-cn

          5. Bootstrap

          Bootstrap是Twitter推出的一個用于前端開發(fā)的開源工具包,是一個CSS/HTML框架,目前世界上的很多網(wǎng)站開發(fā)都使用了這個。其中的柵格理論、響應(yīng)式解決方案都變成了業(yè)界的參考規(guī)范。

          官方文檔:https://v4.bootcss.com/

          四、寫在最后

          將設(shè)計規(guī)范做成 Sketch 組件庫甚至 Axure 元件庫其實任務(wù)量很大,但是這項工作做好了能夠大大提高產(chǎn)品、設(shè)計、開發(fā)團隊的協(xié)作效率!

          但組件庫不是表面工作,畢竟,產(chǎn)品研發(fā)工作不是一蹴而就的,組件庫可以幫助研發(fā)團隊持續(xù)地維護產(chǎn)品

          在組件庫的研發(fā)工作中,我們需要思考:

          • 組件庫在每個項目中的使用率,如果使用率比較低,那么組件庫可能太臃腫。所以要及時給臃腫的組件庫瘦身,只保留常用組件,去除不通用的組件。
          • “合適” 比 “牛逼” 更重要。組件庫不是越多越好,每個團隊都與眾不同,其產(chǎn)品和業(yè)務(wù)場景也各具特色。盲目追求 “大而全” 不可取。
          • 組件庫只是作為參考規(guī)范,不是照貓畫虎、一成不變的。在特別情況脫離現(xiàn)有組件庫的前提下,要保持整體的一致性,幫助我們更好的統(tǒng)一語言規(guī)范。

          本文由 @七分 翻譯發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

          題圖來自Unsplash,基于CC0協(xié)議。


          主站蜘蛛池模板: 国产一区二区三区免费观看在线| 欲色影视天天一区二区三区色香欲| 亚洲乱码国产一区网址| 国产精品综合AV一区二区国产馆| 日本一区二区三区免费高清在线| 一区二区三区久久精品| 色综合一区二区三区| 亚洲美女高清一区二区三区 | 亚洲爆乳精品无码一区二区三区| 国产人妖视频一区二区| 亚洲日韩国产一区二区三区 | 人妻AV一区二区三区精品| 亚洲狠狠狠一区二区三区| 日韩一区二区视频| 嫩B人妻精品一区二区三区| 人妻少妇久久中文字幕一区二区| 欧美激情一区二区三区成人| 国产主播一区二区三区在线观看| 国产高清在线精品一区二区| 久久久综合亚洲色一区二区三区| 午夜影院一区二区| 亚洲午夜电影一区二区三区| 精品一区二区三区视频| 在线观看一区二区三区av| 夜色阁亚洲一区二区三区| 伊人久久精品一区二区三区| 日韩人妻无码一区二区三区久久99| 亚洲精品色播一区二区| 日韩精品人妻一区二区中文八零| 欧洲精品免费一区二区三区| 免费无码VA一区二区三区| 国产午夜三级一区二区三| 亚洲国产高清在线一区二区三区| 精品无码国产AV一区二区三区| 国产一区二区女内射| 日韩AV无码一区二区三区不卡毛片 | 中文字幕一区二区人妻性色| 精品国产一区二区三区在线观看| 日本一区二区三区在线看| 国产乱码精品一区二区三区香蕉 | 国产午夜精品免费一区二区三区|