Custom Code: Classic & Next-Gen FAQ

This FAQ addresses common questions about using custom code in both Classic and Next-Gen versions of Knack applications.

What You'll Learn

This resource will help you understand the fundamental differences between Classic and Next-Gen custom code systems, clarify migration requirements (spoiler: there aren't any), and make informed decisions about which version to use for your custom development needs. You'll also learn how these two systems coexist and why your existing Classic code will continue working exactly as it does today.

General Questions

Q: Do I have to migrate my Classic app to Next-Gen?

A: No, absolutely not. Your Classic app and custom code will continue to work exactly as they do today. There is no requirement or deadline to migrate to Next-Gen.

Q: Will my Classic custom code stop working?

A: No. Your Classic custom code will continue to function normally. Classic and Next-Gen are completely separate systems.

Q: Why are the custom code examples so different between Classic and Next-Gen?

A: Classic and Next-Gen use fundamentally different technologies. Classic uses jQuery and traditional web patterns, while Next-Gen uses React and modern JavaScript patterns. They're essentially two different platforms that share the same database.

Q: If I make changes to my Classic custom code, will it affect my Next-Gen app?

A: No. Classic and Next-Gen custom code are completely isolated from each other. Changes in one version have zero impact on the other version.

Technical Questions

Q: Can I use my existing Classic JavaScript code in Next-Gen?

A: No, Classic JavaScript code won't work in Next-Gen due to different architectures. If you want to add custom code to Next-Gen, you'll need to write new code using Next-Gen patterns.

Q: Do both versions access the same data?

A: Yes. Both Classic and Next-Gen apps work with the same backend database, so your data is identical in both versions.

Q: Can I have custom code in both Classic and Next-Gen versions of my app?

A: Yes. You can have completely different custom code in each version, and they won't interfere with each other.

Q: Which version should I use for new custom code?

A: It depends on your needs:

  • If you're comfortable with your current Classic setup, continue using Classic
  • If you want to explore modern web development patterns, consider Next-Gen
  • If you're unsure, stick with Classic for now

Migration and Planning

Q: Is there a tool to automatically convert Classic code to Next-Gen?

A: No. Due to the fundamental differences in architecture, there's no automatic conversion tool yet. Next-Gen code needs to be written from scratch using Next-Gen patterns.

Q: Should I plan to eventually move to Next-Gen?

A: Only if it benefits your specific use case. There's no business requirement to migrate. Many customers will continue using Classic indefinitely.

Q: What happens if I want to try Next-Gen but change my mind?

A: You can switch back to Classic at any time. Since the versions are separate, your Classic app and code remain unchanged while you experiment with Next-Gen.

Q: Will Classic eventually be discontinued?

A: There are no current plans to discontinue Classic. Both versions are actively supported.

Troubleshooting

Q: My code works in Classic but not in Next-Gen. What's wrong?

A: This is expected. Classic and Next-Gen use different JavaScript patterns and APIs. Code written for one version won't work in the other.

Q: I'm getting errors when trying to use Classic methods in Next-Gen.

A: Classic methods (like jQuery selectors) don't exist in Next-Gen. You'll need to use Next-Gen methods and patterns instead.

Q: Can I copy and paste code examples between Classic and Next-Gen documentation?

A: No. The code examples are version-specific. Always use the documentation that matches your app version.

Important: Remember that Classic and Next-Gen are fundamentally different systems. While they share the same database, they require completely different approaches to custom code development.