Craft Widgets with JavaScript

Create stunning iOS and iPad widgets using JavaScript and JSX. Unleash your creativity with JSWidget.

Successor to ScriptWidget - Now with enhanced capabilities
jswidget.jsx
const widget_size = $getenv("widget-size");
const widget_param = $getenv("widget-param");

const beijingDate = new Date().toLocaleString("zh-CN", { timeZone: "Asia/Shanghai" });
const sanJoseDate = new Date().toLocaleString("zh-CN", { timeZone: "America/Los_Angeles" });
const newYorkDate = new Date().toLocaleString("zh-CN", { timeZone: "America/New_York" });
const sydneyDate = new Date().toLocaleString("zh-CN", { timeZone: "Australia/Sydney" });

$render(
  <hstack frame="max">
    <vstack alignment="leading">
      <text font="title3" color="blue" font="custom,Unispaced">World Clock</text>
      <text font="title3" color="green" font="custom,Unispaced">Beijing: {beijingDate}</text>
      <text font="title3" color="orange" font="custom,Unispaced">San Jose: {sanJoseDate}</text>
      <text font="title3" color="secondary" font="custom,Unispaced">New York: {newYorkDate}</text>
      <text font="title3" color="purple" font="custom,Unispaced">Sydney: {sydneyDate}</text>
    </vstack>
  </hstack>
);

JSX Style Coding

Write widgets using familiar JSX syntax, making development intuitive and efficient.

JavaScript Powered

Leverage the full power of JavaScript to create dynamic and interactive widgets.

SwiftUI Integration

Built on SwiftUI for high performance and native look and feel on iOS and iPadOS.

Ready to create amazing widgets?

Join thousands of developers who are already building with JSWidget