KnockoutJS یک کتابخانه جاوااسکریپت که الگوی Model-View-ViewModel را پیاده سازی کرده است و برای تولید برنامه های پیچیده و Rich با استفاده از جاوااسکریپت که در سمت کلاینت اجرا می شوند مناسب است. در حقیقت می توان گفت KnockoutJS برای تولید single-page web application مناسب است.