With real-time communications (like Audio/Video calls) and text chats. If built, have you done without using flash module?
Don't use Flash! Flash needs browser plugins and security patches every two weeks. Go for HTML5, which is a browser-native technology. All modern browsers support it, so unless you need to support IE8, HTML5 is the way to go.
You could use a <canvas> HTML element as your basis and then use JS to fetch click events and mouse movement. That way, drawing becomes easy and all you have to do is transfer the mouse movements. You can add text boxes with <textarea> s. Blitting images and computing highlighting or a marker is very easy with a canvas, since you have access to individual pixels and just can add the highlight color to the pixel color.
The whole thing should be quite ok performance-wise. If you need heavier graphics-effects, I recommend adding WebGL to the game, as it allows you to use shaders which are computed on the GPU. WebGL also allows you to use HTML elements, so adding it should be a rather small task, if you already know about graphics programming ;)
When you say whiteboard do you mean for drawing or just communication? Here's a free open source ready to deploy chat + audio + video solution https://rocket.chat/ but it lacks drawing.
For whiteboard drawing, https://webwhiteboard.com uses a canvas tag.
I have also been on a team which created our own whiteboard for internal use purely with node / sockets / webrtc. It's not great and it took months but it's doable.
Mev-Rael
Executive Product Leader & Mentor for High-End Influencers and Brands @ mevrael.com
Velu
Web Full Stack Developer
Mev-Rael
Executive Product Leader & Mentor for High-End Influencers and Brands @ mevrael.com
Flash in 2017, ftw. Flash is banable and disabled by default today in every modern browser.
P.S. never used flash and you never should use it today.
P.S.S. didn't voted since you didn't had an option "Built with JS". I will tell you a secret - you don't need a framework. Talking about the real-time apps - websockets are very easy to use client-side.