Changes

Jump to navigation Jump to search
no edit summary
Line 12: Line 12:     
== Summary ==
 
== Summary ==
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.
+
The cordova container for Sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A HTML5 cordova app which uses some camera feature in Android would be able to do same in Sugar using the same code. So the developers don't need to recode their apps to get them to the Sugar environment. All their HTML5 apps for the iOS, Windows, Android etc would work in Sugar through the cordova api.
    
== Owner ==
 
== Owner ==
* Name: Lionel Laske
+
* Name: Lionel Laské & Puneet Kaur
* Email: lionel@olpc-france.org
+
* Email: lionel@olpc-france.org & puneet.gkaur@gmail.com
    
== Current status ==
 
== Current status ==
 
* Targeted release: 0.104
 
* Targeted release: 0.104
 
* Last updated: 25th July,2014
 
* Last updated: 25th July,2014
* Percentage of completion: XX%
+
* Percentage of completion: 50%
    
== Detailed Description ==
 
== Detailed Description ==
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app's code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.
+
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code. So basically we can access the low lying features (features closer to hardware) through the web app. This enables the developers to keep the same code at top and achieve the same functionality from different platforms. Thus, the web app developers dont need to change their HTML5 app's code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova. Thus, cordova helps us to make cross platforms apps. This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings. A single command line allow a developer to convert an existing HTML5 cordova app into a Sugar app.
    
== Benefit to Sugar ==
 
== Benefit to Sugar ==
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience
+
Sugar will be benefited from the cordova layer development as more people (those with knowing only html,js and css) can contribute to the Sugar. People can port their apps to the Sugar and see them working live. They dont need to learn the gtk stack or Sugar native api to build up activities. Sugar will support the cross platforms apps which work across different platforms and hence the Sugar audience would have a better experience
    
== Scope ==
 
== Scope ==
 
<!--What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
 
<!--What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.
+
The changes required on the Sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins, we shall add more code to the Sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.
   −
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py
+
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova, which is imported in apisocket.py
    
==UI Design==
 
==UI Design==
 
<!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.-->
 
<!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.-->
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app.  
+
This feature is an enhanced, it does not have any direct impact on Sugar. It does not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app.  
    
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/  
 
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/  
Line 47: Line 47:  
== User Experience ==
 
== User Experience ==
 
<!--''If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.''-->
 
<!--''If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.''-->
it will help the cross platforms apps to be deployed in sugar activities. So there shall be an increase in activities.Developers would be able to develop activities for sugar more easily ( using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in android or ios or windows would be now available in sugar. Hence, sugar would support the apps which run on different platforms so that the sugar users are not deprived of the taste of different applications ( activities for sugar)
+
It will help the cross platforms apps to be deployed in Sugar activities. So there shall be an increase in activities. Developers would be able to develop activities for Sugar more easily (using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in Android or iOS or Windows would be now available in Sugar. Hence, Sugar would support the apps which run on different platforms so that the Sugar users are not deprived of the taste of different applications (activities for Sugar)
    
== Dependencies ==
 
== Dependencies ==
 
<!--''What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?''-->
 
<!--''What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?''-->
This project also needs to contribute to the cordova repositories apart from sugar side.So we need to co-ordinate with the cordova community and get our additions to the cordova code be accepted. Only then can the sugar platform for cordova can be launched.
+
This project also needs to contribute to the cordova repositories apart from Sugar side. So we need to co-ordinate with the cordova community and get our additions to the cordova code be accepted. Only then can the Sugar platform for cordova can be launched.
    
== Contingency Plan ==
 
== Contingency Plan ==

Navigation menu