整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          裝上這個 App,讓你的手機多出 91.596% 存

          裝上這個 App,讓你的手機多出 91.596% 存儲空間

          們已經習慣了微信小程序、快應用這樣輕量級 App 的存在。

          它們兼顧低占用和即用即走的特點,又不失恰到好處的功能。

          但面對 BAT 全家桶和無數網頁時。

          你可曾想過:

          給淘寶安排一個快應用版?

          讓它的體積直接減少 98.5%!

          或是刷網頁像刷客戶端?

          以前想要實現這個目標,我們得等每年一次的系統更新或 Web 技術進步。

          現在呢,只需一個 Fusion App

          Fusion App 是【一個木函】(我們之前安利過的神器)作者的另一代表作。

          它的作用就是將網頁轉化為應用。

          Fusion App 發展至今已經有不少成熟的應用,無需自己動手就能使用,大家可以直接跳轉到文末下載

          Fusion App 的實現原理不復雜,主要是用安卓系統的原生組件代替網頁組件元素,用戶可以自由定制、增刪這些組件。

          比如去除廣告彈窗、推薦位,將二級功能統一到側邊欄等。

          淘寶 Fusion App 版

          讓網頁像真的客戶端一樣,簡潔流暢易用。

          接著我們來演示下 Fusion App 網頁轉應用的基本操作。

          以淘寶觸屏版(https://h5.m.taobao.com/)為例。

          淘寶觸屏版

          (Fusion App 中有個 「UI 模板」概念,創鍵一個網頁轉應用等于創建一個模板)

          第一步,點擊加號開始創建。

          因為淘寶網頁版以底欄為主,所以我們選擇底欄模板。

          第二步,創建完應用名,接著創建一個圖標。

          Fusion App 自帶圖標庫,用戶也可以自定義,或從手機圖庫中選一張喜歡的圖片。

          第三步,創建完圖標,會有一大堆選項,這些選項都不用管。

          只在網頁控制中填入淘寶網頁版的網址即可。

          到這里我們已經完成了簡版淘寶的配置工作。

          如果點擊右上角的「三角形」預覽的話,會是這樣。(Fusion App 默認效果)

          第四步,顯然,我們要把項目 1、項目 2 修改為淘寶底欄的樣子。

          如何添加呢?

          切換到組件選項卡,點擊項目 1,隨便命一個名字。

          比如我希望我的應用開頭顯示淘寶主頁,那就叫主頁。

          隨便選一個圖標,接著填入網址。

          But,網址怎么填?

          在電腦上打開淘寶觸屏版網址,看到這個畸形界面不要慌。

          按 F12(或 Ctrl+Shift+I),點擊設備切換圖標即可。

          這時,點擊一下首頁選項,將地址欄出現的網址,填寫到剛才的空缺中。

          效果如圖,項目 2、3、4 可依此類推。

          如果你不需要那么多選項,長按項目即可刪除。

          第五步,到這里我們已經完成一大半工作,接著在屬性欄調整下應用配色就差不多了。

          最后經過一些其他修改,我們就可以將應用打包出來,安裝到本地。

          如你所見,將之安裝到本地后,能夠與官方原版共存。

          一條尾巴

          上述案例其實比較基礎,只能起到入門作用。

          限于篇幅,刪除美化等進階教程的我們放在回復中,感興趣的機友們可以嘗試。

          雖然使用 Fusion App 的確要花點時間, 但我們能想到的,其他開發者也早就做到了。

          比如文章開頭的 Fusion App 版淘寶就是某位熱心開發者的作品。

          此外還有小智工具箱這種無所不能的應用

          更不要說 Fusion App 貼吧、微博等等……

          好啦,所有提及應用已經打包完成,咱們回復見~

          微信搜索【鋒潮評測室】

          后臺回復 300 下載安裝包

          移動互聯網時代,擁有一款專屬APP已經成為許多企業和個人的必備選擇。但是,開發一款原生APP往往需要大量的時間和資源投入。有沒有一種更快速、更經濟的方式來將已有的網站轉化為APP呢?答案是肯定的 - 那就是網頁封裝APP技術。

          什么是網頁封裝APP?

          網頁封裝APP,也稱為混合APP或WebView APP,是一種將網頁內容封裝到原生APP殼中的技術。這種APP本質上是在原生應用中嵌入了一個網頁瀏覽器組件(WebView),通過這個組件來加載和顯示網頁內容。

          網頁封裝APP的優勢

          1. 開發成本低: 利用現有的網頁資源,無需重新開發。
          2. 跨平臺兼容: 一次開發,可同時適配Android和iOS平臺。
          3. 更新便捷: 只需更新服務器端網頁,APP內容即可自動更新。
          4. 上手簡單: 對于熟悉Web開發的團隊來說,學習成本較低。

            網頁封裝APP的步驟

            1. 準備網頁: 確保您的網頁適配移動設備,采用響應式設計。
            2. 選擇工具: 根據項目需求選擇合適的封裝工具。
            3. 創建項目: 使用選定的工具創建新的APP項目。
            4. 配置WebView: 設置WebView組件,將其指向您的網頁URL。
            5. 添加原生功能: 根據需要添加設備API調用,如相機、定位等。
            6. 測試優化: 在真機上測試APP,優化性能和用戶體驗。
            7. 打包發布: 生成安裝包,發布到各大應用商店。

            注意事項

            1. 性能考慮: 網頁封裝APP的性能通常不如原生APP,需要注意優化。
            2. 用戶體驗: 要盡可能模仿原生APP的交互方式,提升用戶體驗。
            3. 安全性: 注意保護WebView中的數據安全,防止惡意腳本注入。
            4. 兼容性: 要考慮不同設備和系統版本的兼容性問題。

            未來趨勢

            1. PWA技術: 漸進式網頁應用(PWA)正在興起,可能成為網頁封裝APP的有力競爭者。
            2. 跨平臺框架: React Native和Flutter等框架正在不斷完善,為混合開發提供更多可能。
            3. 云端封裝: 一些平臺開始提供在線網頁轉APP服務,進一步降低開發門檻。

            結語

            網頁封裝APP技術為企業和個人提供了一種快速、經濟的方式來開發移動應用。雖然它可能在性能和用戶體驗上略遜于原生APP,但其低成本和快速開發的優勢使其成為許多項目的理想選擇。

            要用到的組件:Swiper中文網-輪播圖幻燈片js插件,H5頁面前端開發

            Html代碼:

            <!DOCTYPE html>
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                <title></title>
                <script src="js/jquery-3.4.1.min.js"></script>
                <script src="js/swiper-4.5.3/js/swiper.min.js"></script>
                <link rel="stylesheet" href="js/swiper-4.5.3/css/swiper.min.css" rel="external nofollow" >
                <link rel="stylesheet" href="css/style.css">
            
            </head>
            <body>
                <div class="swiper-container box">
                    <div class="swiper-wrapper main-timeline">
                        <div class="swiper-slide timeline fd-active-line">
                          <a href="javascript:void(0);" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  class="timeline-content">
                            <div class="timeline-year">
                              <span>2022</span>
                            </div>
                          </a>
                          <div class="show_timeline"></div>
                        </div>
                        <div class="swiper-slide timeline">
                          <a href="javascript:void(0);" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  class="timeline-content">
                            <div class="timeline-year">
                              <span>2021</span>
                            </div>
                          </a>
                          <div class="show_timeline"></div>
                        </div>
                        <div class="swiper-slide timeline">
                          <a href="javascript:void(0);" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  class="timeline-content">
                            <div class="timeline-year">
                              <span>2020</span>
                            </div>
                          </a>
                          <div class="show_timeline"></div>
                        </div>
                        <div class="swiper-slide timeline">
                          <a href="javascript:void(0);" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  class="timeline-content">
                            <div class="timeline-year">
                              <span>2019</span>
                            </div>
                          </a>
                          <div class="show_timeline"></div>
                        </div>
                        <div class="swiper-slide timeline">
                          <a href="javascript:void(0);" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  class="timeline-content">
                            <div class="timeline-year">
                              <span>2018</span>
                            </div>
                          </a>
                          <div class="show_timeline"></div>
                        </div>
                        <div class="swiper-slide timeline">
                          <a href="javascript:void(0);" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  class="timeline-content">
                            <div class="timeline-year">
                              <span>2017</span>
                            </div>
                          </a>
                          <div class="show_timeline"></div>
                        </div>
                      </div>
                    </div>
            
                    <ul class="event_list">
                        <div>
                          <h3 id="2022">2022</h3>
                          <img src="images/sl01.PNG" alt="">
                        </div>
                        <div style="display: none;">
                          <h3 id="2021">2021</h3>
                          <img src="images/sl02.PNG" alt="">
                        </div>
                        <div style="display: none;">
                          <h3 id="2020">2020</h3>
                          <img src="images/sl03.PNG" alt="">
                        </div>
                        <div style="display: none;">
                          <h3 id="2019">2019</h3>
                          <img src="images/sl04.PNG" alt="">
                        </div>
                        <div style="display: none;">
                          <h3 id="2018">2018</h3>
                          <img src="images/sl05.PNG" alt="">
                        </div>
                        <div style="display: none;">
                          <h3 id="2017">2017</h3>
                          <img src="images/sl06.PNG" alt="">
                        </div>
                      </ul>
                </div>
            
                <script>
                    $(function () {
                      $(".main-timeline .timeline").click(function () {
                        var target=$(this).siblings().length;
                        if (target >=1) {
                          var index=$(this).index()
                          $(this).addClass('fd-active-line').siblings().removeClass('fd-active-line')
                          $(this).parent().parent().siblings('.event_list').children().eq(index).show().siblings().hide()
                        }
                      })
                      var swiper=new Swiper('.swiper-container', {
                        slidesPerView: 4,
                        direction: 'vertical',
                        navigation: {
                          nextEl: '.swiper-button-next',
                          prevEl: '.swiper-button-prev',
                        },
                        on: {
                          resize: function () {
                            swiper.changeDirection(getDirection());
                          }
                        }
                      });
                    });
                  </script>
            </body>
            </html>
            

            CSS代碼:

            .page{
                width: 100%;
            }
            
            .main-timeline{
                font-family: Arial, Helvetica, sans-serif;
                width: 200px;
                position: relative;
                float: left;
            }
            
            .main-timeline:after{
                content: '';
                display: block;
                clear: both;
            }
            
            .main-timeline .timeline{
                width: 4%;
                margin: 0 50px 0 0;
                float: left;
                position: relative;
            }
            
            .main-timeline .timeline-content{
                border-radius: 15px 0 15px 15px;
                display: block;
                position: relative;
            }
            
            .main-timeline .timeline-content:hover{
                text-decoration: none;
            }
            
            .fd-active-line .timeline-content:after {
                content: '';
                background-color: #00A79B;
                height: 18px;
                width: 15px;
                position: absolute;
                right: -43px;
                top: 27px;
                /* clip-path: polygon(100% 0, 0 0, 0 100%); */
            }
            
            .main-timeline .timeline-year {
                color: #fff;
                background-color: #00A79B;
                font-size: 24px;
                font-weight: 900;
                text-align: center;
                line-height: 80px;
                height: 80px;
                width: 80px;
                border-radius: 50%;
                position: absolute;
                right: -120px;
                top: -40px;
            }
                
            .main-timeline .timeline-year:after {
                content: '';
                height: 100px;
                width: 100px;
                border: 8px solid #00A79B;
                border-left-color: transparent;
                border-radius: 50%;
                transform: translateX(-50%) translateY(-50%) rotate(-20deg);
                position: absolute;
                left: 50%;
                top: 50%;
            }
                
            .main-timeline .timeline-icon {
                color: #fff;
                background-color: #00A79B;
                font-size: 35px;
                text-align: center;
                line-height: 50px;
                height: 50px;
                width: 50px;
                border-radius: 50%;
                transform: translateY(-50%);
                position: absolute;
                top: 50%;
                left: -25px;
                transition: all 0.3s;
            }
                
            .main-timeline .title {
                color: #222;
                font-size: 20px;
                font-weight: 900;
                text-transform: uppercase;
                letter-spacing: 1px;
                margin: 0 0 7px 0;
            }
                
            .main-timeline .description {
                color: #222;
                font-size: 15px;
                letter-spacing: 1px;
                text-align: justify;
                margin: 0 0 5px;
            }
                
            
                
            .main-timeline .timeline:nth-child(even) .timeline-content:after {
                transform: rotateY(180deg);
                right: auto;
                left: 123px;
            }
                
            .main-timeline .timeline:nth-child(even) .timeline-year:after {
                transform: translateX(-50%) translateY(-50%) rotate(200deg);
            }
                
            .main-timeline .timeline:nth-child(even) .timeline-icon {
                left: auto;
                right: -25px;
            }
                
            .timeline:nth-child(4n+2) .timeline-content,
            .timeline:nth-child(4n+2) .timeline-year:after {
                border-color: #9E005D;
            }
                
            .timeline:nth-child(4n+2) .timeline-year:after {
                border-left-color: transparent;
            }
                
            .timeline:nth-child(4n+2) .timeline-content:after,
            .timeline:nth-child(4n+2) .timeline-icon,
            .timeline:nth-child(4n+2) .timeline-year {
                background-color: #9E005D;
            }
                
            .timeline:nth-child(4n+3) .timeline-content,
            .timeline:nth-child(4n+3) .timeline-year:after {
                border-color: #f24f0e;
            }
                
            .timeline:nth-child(4n+3) .timeline-year:after {
                border-left-color: transparent;
            }
                
            .timeline:nth-child(4n+3) .timeline-content:after,
            .timeline:nth-child(4n+3) .timeline-icon,
            .timeline:nth-child(4n+3) .timeline-year {
                background-color: #f24f0e;
            }
                
            .timeline:nth-child(4n+4) .timeline-content,
            .timeline:nth-child(4n+4) .timeline-year:after {
                border-color: #0870C5;
            }
                
            .timeline:nth-child(4n+4) .timeline-year:after {
                border-left-color: transparent;
            }
                
            .timeline:nth-child(4n+4) .timeline-content:after,
            .timeline:nth-child(4n+4) .timeline-icon,
            .timeline:nth-child(4n+4) .timeline-year {
                background-color: #0870C5;
            }
                
            @media screen and (max-width:767px) {
                .main-timeline:before {
                  display: none;
                }
                
                .main-timeline .timeline {
                  width: 100%;
                  padding-top: 80px;
                  padding-right: 12px;
                  margin-bottom: 20px;
                }
                
                .main-timeline .timeline:nth-child(even) {
                  padding-left: 10px;
                  padding-top: 80px;
                  margin-bottom: 20px;
                }
                
                .main-timeline .timeline-content,
                .main-timeline .main-timeline .timeline:nth-child(even) .timeline-content {
                  background-color: #fff;
                  padding-top: 25px;
                }
                
                .main-timeline .timeline-content:after {
                  display: none;
                }
                
                .main-timeline .timeline-year {
                  font-size: 24px;
                  line-height: 70px;
                  height: 70px;
                  width: 70px;
                  right: 0;
                  top: -65px;
                }
                
                .main-timeline .timeline-year:after {
                  display: none;
                }
                
                .main-timeline .timeline:nth-child(even) .timeline-year {
                  left: 3px;
                }
            }
                
            @media screen and (max-width:567px) {
                .main-timeline .title {
                  font-size: 18px;
                }
            }
                
            .swiper-container {
                width: 205px;
                height: 500px;
                float: left;
            }
                
            .swiper-slide {
                text-align: center;
                font-size: 18px;
                background: #fff;
                
                
                display: -webkit-box;
                display: -ms-flexbox;
                display: -webkit-flex;
                display: flex;
                -webkit-box-pack: center;
                -ms-flex-pack: center;
                -webkit-justify-content: center;
                justify-content: center;
                -webkit-box-align: center;
                -ms-flex-align: center;
                -webkit-align-items: center;
                align-items: center;
            }
                
            @media (max-width: 760px) {
                .swiper-button-next {
                    right: 20px;
                    transform: rotate(90deg);
                }
                
                .swiper-button-prev {
                  left: 20px;
                  transform: rotate(90deg);
                }
            }
            
            
            .event_list img {
                width: 880px;
                height: 470px;
                object-fit: cover;
            }
            
            
            .show_timeline {
                width: 3px;
                height: 100%;
                background: #a7a7a5;
                position: absolute;
                left: 82px;
                z-index: -1;
            }

            效果圖:


            主站蜘蛛池模板: 国产成人久久一区二区三区| 国产一区二区视频免费| 精品视频一区二区三区| 中文乱码人妻系列一区二区| 99精品国产一区二区三区2021| 国产精品成人国产乱一区| 中文字幕久久亚洲一区| 无码人妻视频一区二区三区| 亚洲一区中文字幕在线观看| 成人免费观看一区二区| 人妻无码一区二区视频| 国99精品无码一区二区三区| 国产精品无码一区二区三区毛片| 夜夜精品视频一区二区| 国产午夜精品一区理论片飘花| 国产激情视频一区二区三区| 国产精品一区二区资源| 果冻传媒董小宛一区二区| 无码少妇精品一区二区免费动态| 欧美人妻一区黄a片| 一区二区三区亚洲| 99久久精品午夜一区二区| 免费人妻精品一区二区三区| 色婷婷AV一区二区三区浪潮| 免费播放一区二区三区| 亚洲高清美女一区二区三区 | 一区视频在线播放| 久久精品国产第一区二区三区 | 免费无码AV一区二区| 国产在线乱子伦一区二区| 久久国产香蕉一区精品| 国模私拍福利一区二区| 久久免费精品一区二区| 福利一区二区视频| 亚洲日韩精品国产一区二区三区| 国产无线乱码一区二三区| 精品一区二区三区免费| 国产一区二区四区在线观看| 国产一区二区三区不卡在线观看 | 亚洲乱码一区二区三区国产精品| 一区二区在线视频免费观看|