Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrated Development Environment for Telegram Mini Apps: TMA Studio #908

Open
erfanmola opened this issue Dec 17, 2024 · 1 comment
Open
Labels
Developer Tool Related to tools or utilities used by developers

Comments

@erfanmola
Copy link

erfanmola commented Dec 17, 2024

Summary

Telegram Mini App Studio

Telegram Mini App Studio

TMA Studio simplifies the development of Telegram Mini Apps by providing a comprehensive local testing environment. It supports Telegram-specific features like Mini Apps 2.0, simulated user interactions, and event handling. Recognizing the Telegram Mini Apps platform as an instrument to increase the popularity of TON, TMA Studio aims to empower developers, fostering innovation and quality in the Telegram ecosystem.

DPXWallet Demo

TMA Studio Sample Demo

Simplist Floating Demo

demo-2-1080P-30FPS.mp4

Context

Developing and testing Telegram Mini Apps currently lacks a streamlined solution, making debugging and iteration cumbersome. While some general-purpose tools can be used for TMA development and testing, they do not provide the specific Telegram-native capabilities needed to test and debug Mini Apps in the context of the Telegram platform. TMA Studio bridges this gap by simulating Telegram environments (Android, iOS, etc.) and handling key APIs. This tool reduces barriers, improves app quality, and increases adoption.

Existing Mini App development tools(if any) fail to address the need for advanced debugging, realistic environments, and powerful developer tools. TMA Studio bridges this gap by providing:

  • Feature-rich Developer Console: Integrated Chrome DevTools console for debugging every simulated environment.

  • Mini Apps 2.0 Ready: Fully compatible with the latest Mini Apps 2.0 features and updates. (WIP, Phase 2)

  • Mock User Data: Simulate user interactions with customizable mock data for efficient debugging. Switch between user profiles with unique data for more robust app testing.

  • Event and Method Support: Supports over 90% of Telegram Mini App events and methods, with ongoing development.

  • Token and InitData Simulation: Sign and verify initData using a bot token, just like Telegram’s backend.

  • Native-looking Floating Windows: Emulates the floating Mini App window experience, akin to mobile emulators.

  • Familiar Developer UI: Inspired by VSCode with multiple tabs and projects, enhancing productivity.

These features collectively enable developers to test efficiently, debug thoroughly, and create quality Mini Apps that integrate seamlessly into Telegram's ecosystem.

Value to Telegram and the TON Ecosystem

TMA Studio not only benefits developers but also plays a pivotal role in growing Telegram's Mini Apps ecosystem and the TON blockchain. The more developers who adopt TMA Studio and create high-quality Mini Apps, the more users will be drawn into the Telegram and TON ecosystems. This tool directly supports Telegram’s mission to expand the use of Mini Apps, making the development process smoother, faster, and more efficient.

With features that facilitate seamless app creation, debugging, and testing, TMA Studio lowers the entry barriers for new developers, enabling a broader range of innovative apps to be created for Telegram. By empowering developers to easily build, test, and refine their apps, TMA Studio fosters innovation, driving a surge in the number and quality of Mini Apps available to Telegram users.

Furthermore, by addressing the complexities of working within Telegram’s environment, TMA Studio encourages more developers to explore and leverage Telegram’s ecosystem, increasing the overall adoption of Telegram Mini Apps. As more developers build within the Telegram ecosystem, the TON blockchain benefits from increased usage and exposure, leading to growth and a stronger presence in the broader blockchain space.

In essence, TMA Studio is not just a tool for developers; it’s a catalyst for the continued growth of both Telegram and TON, making it an essential part of the ecosystem's expansion.

References

While there are no alternatives for this tool, and it is the first of its kind in the Telegram Mini Apps ecosystem, TMA Studio draws inspiration from established developer tools, such as:

  • Telegram Official Clients
  • Android Studio & AVD
  • Xcode & iOS Simulator
  • Google Chrome Developer Tools

TMA Studio uniquely combines these inspirations into a Telegram-native development environment, bridging gaps that other tools overlook and delivering unmatched features tailored for Mini Apps leading to growth of TON ecosystem.

Our phase 1 is completed and we are live on TMA Studio and TMA Studio Github Repository.

Estimate suggested reward

We request an estimated total amount of $30,000 to cover the development and completion of TMA Studio across three phases:

Phase 1 (Completed) - $20,000

  • Duration: October 2024 – January 2025
  • Achievements:
    • Established the base project and essential infrastructure.
    • Added support for Telegram Android and iOS platforms.

Phase 2 (Planned) - $5,000

  • Duration: Early to Mid-2025
  • Goals:
    • Full compatibility with Telegram Mini Apps 2.0.
    • Support for Telegram Desktop, WebK, and WebA platforms.
    • Add auto-updates and streamline release processes.
    • Further general improvements

Phase 3 (Planned) - $5,000

  • Duration: Mid to Late 2025
  • Goals:
    • Advanced mock data customization.
    • Real user account login for debugging live Mini Apps.
    • Support for features requiring real Telegram server communication (* marked features in the original repository).

While this is our planned roadmap, the Telegram Mini App ecosystem continues to evolve with regular updates. We are committed to staying current with these updates, ensuring ongoing development and support. Our goal is to build the first and best tool for this ecosystem—designed by developers, for developers—to empower the community and foster innovation within the Telegram and TON ecosystem.

It’s evident that TMA developers are highly interested in TMA Studio, as reflected by the growing number of GitHub stars on the project repository. This support highlights the importance and potential of the tool within the ecosystem. It would be a shame if development had to pause due to funding limitations, especially since we are passionate about continuing to enhance the project. While we understand that the bounty program has a $10K cap, and we are requesting $20K, we recognize that a grant may be more appropriate for this scope. If transitioning to a grant application is required and approved, we have already taken that route too, here is our link on questbook.

@erfanmola erfanmola added the Developer Tool Related to tools or utilities used by developers label Dec 17, 2024
@erfanmola
Copy link
Author

@delovoyhomie, would you kindly approve the project so we can progress?

While we understand the nature of grant requests, we would greatly prefer for this request to be considered as a bounty. We are eager to accelerate development and begin the next phases, especially with the holidays approaching. Grants often take roughly a month just to be reviewed, but we only need your approval to continue development—no immediate payment is necessary.

We’ve also received excellent feedback from the developer community during this time, which has expanded the scope of what we can further develop. Additionally, as there have been projects with $20K requests approved as bounties before (e.g., Telegram React UI Components), we believe this request fits within similar precedence.

An approval from your side would provide us with the clarity and confidence needed to move forward, avoiding this current "unknown state." Your decision is crucial in helping us determine our next steps—whether to continue advancing this project or, unfortunately, consider discontinuing its development. A timely resolution would greatly support our ability to plan and act effectively. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Developer Tool Related to tools or utilities used by developers
Projects
None yet
Development

No branches or pull requests

2 participants
@erfanmola and others