I want to evaluate the new sandboxing mechanism in Windows 8/Windows Server 2012. I searched MSDN site for any resources but the documentation is extremely scarce. In comparison with FreeBSD Capsicum documentation, the one provided by Microsoft is just unusable.
How are we supposed to build robust sandboxed apps? Are the sandboxing APIs intended for metro style apps only?
I'm not sure what you mean by "sandboxing APIs". All "metro" (Windows 8 UI Applications) are sandboxed. I'm not aware of any way to sandbox desktop applications in the same way. See here.
Metro apps are pretty tightly sandboxed, and apps submitted to the
Windows Store need to declare many types of capabilities that they use
— not unlike Google Play's permissions list.
. . .
Windows 8 features a specific SDK for Metro style apps . . .
A quick explanation of capabilities: There are certain potentially sensitive things that you can do on a user's machine, such as access the Pictures library or use the webcam. If an app wants to do these things, the developer must declare a capability in the app's manifest. Then, when users download the app from the Windows Store, they can clearly see if the app is using any of this functionality. More info and a list of all of the capabilities is provided at App capability declarations.
Regarding sandboxing, there is some information at http://msdn.microsoft.com/en-us/library/ie/hh673561(v=vs.85).aspx. Yes, Metro-style apps are sandboxed in a way that desktop apps are not.
There is a whitepaper discussing security in Windows Store apps built with HTML5 at Secure development of Metro style apps with HTML5. There are also some common security scenarios documented.
Over internet there are many blogs saying that winrt is a replacement of win32 api. IS this is really true? Even i read that application developed for Metro Application uses winrt. So do i understand correctly, those application which are metro application they has to go through winrt & classic applications has to go through win32 api's. Please someone validate my conclusions.
Disclaimer: I am not involved in any way in the design or implementation of Windows 8, and I have only kept up on the Windows 8 news. I possess no privileged information.
winrt is a replacement of win32 api
Microsoft has made clear that WinRT is not a replacement for Win32, but another way to develop applications. That said, there is no Win32 implementation on ARM (at least that third-party developers can access). Windows on ARM will only support WinRT, and not Win32, as Steve Sinofsky explains here.
those application which are metro application they has to go through winrt & classic applications has to go through win32 api's
Absolutely correct.
Win32 still exists. WinRt wraps them and converts their types to be native for the consuming language. C++ metro application can still access a limited set of Win32 APIs
WinRT is basically a wrapper for Win32 (COM) to be consumed by Metro Stype applications (Projections for Native, CLR, Javascript) which are designed for a sandboxed environment mostly for Touch-Screen aware applications (although one can hack them to work on the desktop). Some APIs for Metro Style applications are still using the classic COM APIs (DirectX for example).
So, how can WinRT replace Win32 if it is built upon it? ;-)
I know this is repeated question. I read almost all the threads , googled a lot and became more confused. I read Microsoft Mobile Internet Toolkit (MMIT) is not used anymore and Windows Mobile 6.5 Developer Tool Kit is widely used .
Requirement:Develope and publish websites for mobile phones.
Envoirnment:VS2008/.net 3.5
I am new to mobile web application development. I want to know how to start ,what are the frameworks i should know/download,sample websites or articles..
Thanks,
Vanitha
If you want to create web applications for mobile devices using microsoft technologies check out this site:
http://www.asp.net/mobile
It has simple how-to.....
If you're going to invest in a new skill, I'd focus on iPhone and Android development - they're far more widespread than windows mobile.
What is best way to develop for nokia phones ?
symbian programing or html applications ?
how to start symbian programming. i am not able to find the nokia carbide software anymore. which software is used to program ?
In my opinion, Symbian programming is the way to go for Nokia applications because you can create more visually appealing applications in less time using QT. Check out their QT platform which makes it easier for developers to start programming for Nokia devices and deploy to OVI store. You may want to start at http://www.forum.nokia.com/Develop/Qt/
If you want to know your options and the tools associated with them (Either developing in Symbian, Web or Java), you can check out their Developer website at http://www.forum.nokia.com/Develop/
here the downloadlinks:
platform-sdk
carbice.c++
hope that helps
Recently I was asked by someone if there is such a magic framework that will allow one let's say to design and build once a single library of controls and then use them separately to build web and desktop applications.
Does Google, Microsoft or other company have such a RAD framework and tools?
Thx
Depends on how you define a Web App. If you consider RIAs to be Web Apps, then yes...
Microsoft has Silverlight and Adobe has Flex/AIR.
Well, you can always go and look for adobe flex, adobe flash or even microsoft silverlight, which in the next version will support desktop applications as well.
Other types of frameworks currently do not build so well under desktop/web environments.. Take .NET for example, which can be used in so many set of environments, but there are limitations if you want to use it for mobile, web, desktop or XNA, everyone has his own set of tools.
That is mostly resumed in the capability of the desired environment, since you can browse a web page in an iphone, which does not have the same capabilities of a desktop or even laptop PC.
Seva is telling you how this is normally dealt with. MVC is a good start.
The Eclipse foundation offers Rich Client Platform vs Rich Ajax Platform - one allows you to build desktop apps, the other web-based apps, all using SWT concepts. I wouldn't describe it as magical though - the reality is it is much more difficult and I would not recommend RAP.
Adobe has AIR, and Google wants everybody write HTML5+JavaScript. both Chrome and FireFox can run those as standalone apps.
Were such thing to exist, it would produce lousy desktop apps and lousy Web apps. The underlying platforms and ideologies are too different. You'll do better by isolating as much of business logic away as possible, then building two separate clients.
EDIT: assuming that by a "Web app" you mean an HTML-based app, as opposed to something that happens to execute within a browser. For the latter option, you can have Flash, Silverlight, Java Applets, ActiveX controls... And for the vice versa, you can have a desktop app that opens a Web browser control and runs a Web app in it. :)
Microsoft has a Smart Client Factory that has a lot of built-in guidance packages that make development fairly quick and standardized.
http://msdn.microsoft.com/en-us/library/aa480482.aspx
It is entirely possible that I misunderstand this question, but if all you need, is the ability to seperate models an business logic into some kind of reusable library, just about any programming platform/language will do.
Java: keep models and business logic in seperate project, compiled to jar
.NET: keep models and business logic in seperate project, compiled to DLL
Python, Ruby, Perl: keep models and business logic in separate directory, and include as module
What are the requirements for the desktop application? On which platforms should it run? If Windows only, .NET seems like an obvious choice, otherwise Python and Qt or Java if you like to Swing.
I also would go for a Webservice and implement as much Business-Logic as possible in the Service. You can then build a very small Clinet in Html/JS, Java, .Net or Whatever.
You should choose that Framework you feel most familiar with.
If you are a .Net-Developer you can develop a WCF-Service (is also great with WP7).
For Java, i would choose Google-App-Engine or the Play-Framework.
And of course you can make a PHP-Webservice, for examble with the Flow-Framework
Check CrossUI RAD tool. It enables developers to rapidly develop and package the exactly same code and UI into Web Apps, Native Desktop Apps(Windows, OS X, Linux and UNIX) as well as Mobile Apps.