A WAB app uses a Web Map and what ever data that is in that Web Map. So if you want your data to be available in WAB then you should add it to the Web Map that your WAB app is using. If you want to add your data at runtime to the App then you use the Add Data widget.
so if i want to use WAB app, i can only import my data from ArcGIS Online? i downloaded the app, and i wanna change the code so i can import data from Geoserver without passing my data to ArcGIS. is that possible?
You will not be Importing your data to ArcGIS Online. You will only be have the Web Map on ArcGIS Online point to the data on your ArcGIS Server (there is a pretty big difference). WAB is NOT designed to make direct use of your ArcGIS Server services directly. There are some custom widgets Like the Local Layer Widget that extend WAB to be able to do this but I have personally quit using these some time ago in favor of just doing it the way esri designed WAB to work (meaning build a Web Map on AGOL that uses your local ArcGIS Server services).
well i downloaded that widget LocalLayer i added some layers from Geoserver into it but no data is loaded in the map, i can see that layers are added but with no feature, can u help me with that?
I have here a similar issue: I want my Web Application to use data from Google Map (just because is more comprehensive), in particular POI (point of interests) based on a location provided by the user. Download the data and store it somewhere beforehand is not an option as I would need a massive amount of store resources so I would need in such a way to trigger a script to download the data from Google Maps based on the point picked by the user.
I already have that a Python script to do that but I don't really understand how to integrate that script into WAB.
I want my Web Application to use data from Google Map
This would be a violation of Google Maps Terms of Service. You can not use Google Data with any other map then Google Maps.