פרויקטים של קוד פתוח למיני אפליקציות

קבון

פרויקט kbone (קוד פתוח ב-GitHub) מטמיע מתאם שמדמה של הדפדפן בשכבת ההתאמה, כך שקוד שנכתב עבור האינטרנט יוכל לפעול בגרסה מיני של אפליקציה. כמה תבניות של סימנים לתחילת פעולה (בין היתר) Vue, תגובה וגם Preact) שהופכים את תהליך הקליטה של מפתחי אתרים שמגיעים מהמסגרות האלה בקלות רבה יותר.

אפשר ליצור פרויקט חדש באמצעות הכלי kbone-cli. אשף שואל איזו מסגרת להפעיל פרויקט עם. בקטע הקוד הבא מוצגת ההדגמה (preact) מראש. בקטע הקוד שבהמשך, השדה mp הפקודה בונה את המיני-אפליקציה, הפקודה web בונה את אפליקציית האינטרנט ו-build יוצרת את המיני אפליקציית האינטרנט לסביבת הייצור.

npx kbone-cli init my-app
cd my-app
npm run mp
npm run web
npm run build

קטע הקוד הבא מציג רכיב מונה פשוט שלאחר מכן מעובד בצורה איזומורפית מיני אפליקציה ואפליקציית אינטרנט. התקורה של אפליקציית המיני של האפליקציה היא משמעותית, ורק שיפוט מה-DOM שלנו.

import { h, Component } from "preact";
import "./index.css";

class Counter extends Component {
  state = { count: 1 };

  sub = () => {
    this.setState((prevState) => {
      return { count: --prevState.count };
    });
  };

  add = () => {
    this.setState((prevState) => {
      return { count: ++prevState.count };
    });
  };

  clickHandle = () => {
    if ("undefined" != typeof wx && wx.getSystemInfoSync) {
      wx.navigateTo({
        url: "../log/index?id=1",
      });
    } else {
      location.href = "log.html";
    }
  };

  render({}, { count }) {
    return (
      <div>
        <button onClick={this.sub}>-</button>
        <span>{count}</span>
        <button onClick={this.add}>+</button>
        <div onClick={this.clickHandle}>跳转</div>
      </div>
    );
  }
}

export default Counter;
אפליקציית ההדגמה של תבנית ה-Preact kbone נפתחה ב-WeChat DevTools. בדיקת מבנה ה-DOM מראה תקורה משמעותית בהשוואה לאפליקציית האינטרנט.
אפליקציית ההדגמה של תבנית ה-Preact kbone נפתחה ב-WeChat DevTools. חשוב לשים לב למבנה ה-DOM המורכב ולהבין איך לחצני הפלוס והחיסור הם למעשה לא רכיבי <button>.
אפליקציית ההדגמה של תבנית ה-Preact kbone נפתחה בדפדפן האינטרנט. בדיקת מבנה ה-DOM מציגה את תגי העיצוב הצפויים על סמך הקוד של רכיב ה-Preact.
אפליקציית ההדגמה של תבנית ה-Preact kbone נפתחה בדפדפן האינטרנט. שימו לב למבנה ה-DOM.

KMS-ui

פרויקט kbone-ui (קוד פתוח ב-GitHub) היא מסגרת של ממשק משתמש מאפשר גם פיתוח מיני של אפליקציות וגם פיתוח Vue.js באמצעות kbone. ממשק המשתמש-Kbone שמחקים את המראה והתחושה של הרכיבים המובנים של המיני אפליקציות ב-WeChat (עיינו גם בקטע רכיבים למעלה). א' הדגמה שרצה ישירות בדפדפן, על הרכיבים הזמינים.

הדגמה של מסגרת ה-kbone-ui שבה מוצגים רכיבים שקשורים לטפסים כמו לחצני בחירה, מתגים, מקורות קלט ותוויות.
ההדגמה של kbone-ui שמציגה רכיבים שקשורים לצורה.

WeUI

הכלי WeUI הוא קבוצה של ספריות סגנון בסיסיות שתואמות לפורמט של WeChat חוויה ויזואלית שמוגדרת כברירת מחדל. צוות העיצוב הרשמי של WeChat כולל עיצובים מותאמים אישית ל-WeChat דפי אינטרנט ואפליקציות מיני של WeChat כדי להפוך משתמשים של תפיסת שימוש אחידה יותר. היא כוללת רכיבים למשל button, cell, dialog, progress, toast, article, actionsheet ו-icon. יש קיימות גרסאות שונות של WeUI, כמו weui-wxss, אפליקציות מיני של WeChat בסגנון WXSS (ראו עיצוב למעלה), weui.js לאפליקציות אינטרנט, וגם react-weui לרכיבי WeChat React.

הדגמה של מסגרת WeUI שבה מוצגים רכיבים שקשורים לטופס, כלומר מתגים.
אפליקציית ההדגמה של WeUI מציגה מתגים.

Omi

Omi היא מסגרת frameworks של קצה קדמי שמצהירה על עצמה (קוד פתוח ב-GitHub. הוא ממזג רכיבי אינטרנט, JSX, וירטואליים DOM, סגנון פונקציונלי, Viewerr (צופה) או שרת proxy (Proxy) ל-framework אחד עם גודל זעיר וביצועים גבוהים. שלו המטרה היא לאפשר למפתחים לכתוב רכיבים פעם אחת ולהשתמש בהם בכל מקום, כמו Omi, React, Preact, Vue.js או Angular. הכתיבה של רכיבי Omi מאוד אינטואיטיבית וללא כמעט כל הכלים הקבועים.

import { render, WeElement, define } from "omi";

define("my-counter", class extends WeElement {
  data = {
    count: 1,
  };

  static css = `
    span{
        color: red;
    }`;

  sub = () => {
    this.data.count--;
    this.update();
  };

  add = () => {
    this.data.count++;
    this.update();
  };

  render() {
    return (
      <div>
        <button onClick={this.sub}>-</button>
        <span>{this.data.count}</span>
        <button onClick={this.add}>+</button>
      </div>
    );
  }
});

render(<my-counter />, "body");

Omiu

Omiu היא ספריית רכיבים של ממשק המשתמש בכמה framework (קוד פתוח ב-GitHub) שפותח על סמך Omi, שמפיק פלט רכיבים מותאמים אישית של רכיבי אינטרנט רגילים.

הדגמה של מסגרת Omiu שמציגה רכיבים שקשורים לצורה, כלומר מתגים.
אפליקציית ההדגמה של Omiu מציגה מתגים.

WePY

WePY היא מסגרת שמאפשרת למיני אפליקציות לתמוך לעיבוד רכיבים שונים. באמצעות איסוף מראש, המפתחים יכולים לבחור את הפיתוחים האהובים עליהם לפיתוח אפליקציות קטנות. אופטימיזציה מפורטת של המסגרת והצגת הבטחות ופונקציות אסינכרוניות מאפשרות לפתח בקלות רבה יותר פרויקטים קטנים של אפליקציות, יעיל. עם זאת, WePY היא גם מסגרת הולכת ומתפתחת, שסופלה ברובה כלים משודרגים ורעיונות ורעיונות לעיצוב framework, בעיקר מ-Vue.js.

<style lang="less">
  @color: #4d926f;
  .num {
    color: @color;
  }
</style>

<template>
  <div class="container">
    <div class="num" @tap="num++">{{num}}</div>
    <custom-component></custom-component>
    <vendor-component></vendor-component>
    <div>{{text}}</div>
    <input v-model="text" />
  </div>
</template>

<config>
  { usingComponents: { customComponent: '@/components/customComponent', vendorComponent:
  'module:vendorComponent' } }
</config>

<script>
  import wepy from "@wepy/core";

  wepy.page({
    data: {
      num: 0,
      text: "Hello World",
    },
  });
</script>
WePY &#39;Getting started&#39; (תחילת העבודה) תיעוד של השלבים הראשונים לתחילת העבודה.
WePY "מתחילים" התיעוד.

vConsole

פרויקט vConsole מספק גרסה קלה ומתרחבת לכלי לפיתוח אתרים קדמיים לדפי אינטרנט לנייד. הוא כולל כלי לניפוי באגים דמוי כלי פיתוח, מוחדר ישירות אל אפליקציות אינטרנט ומיני-אפליקציות. א' demo מציג את ההזדמנויות. ה-vConsole כולל כרטיסיות ליומנים, למערכת, לרשת, לאלמנטים ולאחסון.

אפליקציית ההדגמה של vConsole. אפליקציית vConsole נפתחת בתחתית המסך ויש בה כרטיסיות של יומנים, מערכת, רשת, רכיבים ואחסון.
אפליקציית ההדגמה של vConsole מציגה את סייר הרכיבים.

Weweb

פרויקט weweb (קוד פתוח ב-GitHub) היא ה-framework של הקצה הקדמי של אפליקציית מיני של Hera שטוענת שהיא תואמת עם התחביר של אפליקציות מיני של WeChat, כך שתוכלו לכתוב אפליקציות אינטרנט כמו מיני אפליקציות. מסמכי התיעוד מבטיח שאם יש לך כבר מיני אפליקציה, תוכלי להריץ אותה בדפדפן בעזרת אנחנו. בניסויים שלי זה לא עבד בצורה יציבה עם מיני אפליקציות מיני קיימות, כנראה בגלל מכיוון שהפרויקט לא ראה לאחרונה עדכונים שמובילים מהדר שפספסנו פלטפורמת WeChat.

תיעוד של מסגרת האפליקציה Hera Mini, שבה מפורטים ממשקי ה-API של WeChat שנתמכים, כמו &#39;wx.request&#39;, &#39;wx.uploadFile&#39; וכו&#39;.
תיעוד של מסגרת Hera לאפליקציות מיני שבה מוצגת רשימת ממשקי ה-API הנתמכים של WeChat.
אפליקציית האינטרנט להדגמה (דמו) של Weweb, שהורכבה מ-webweb, פועלת בדפדפן ומציגה רכיבי טופס.
אפליקציית weweb להדגמה (דמו) שמותאמת ל-Weweb צריכה לפעול בדפדפן.

אישורים

המאמר הזה נבדק על ידי ג'ו מדלי, קייס בסקית, Milica Mihajlija, אלן קנט, וקית גו.