Presentation on theme: "Why.NET? Various languages struggling to interoperate with each other Developers undergoing huge learning curves to shift from one language to another."— Presentation transcript:
Why.NET? Various languages struggling to interoperate with each other Developers undergoing huge learning curves to shift from one language to another or from one application type to another Non-standard ways of modeling applications and designing solutions Huge syntactic differences between languages. Issues:- New programming model needed: Applications to be built as reusable components shareable over the internet – “web services” True "interoperability" wherein the language used is only a matter of choice, thus enabling organizations to take advantage of existing skill sets.
Enter.Net... The.NET Framework is a new computing platform developed by Microsoft that simplifies application development in the highly distributed environment of the internet..NET is much more than just a platform for developing for the internet, but it is intended for this purpose predominantly, because here, other methods have failed in the past. Objectives: To provide a consistent object-oriented environment to develop applications. To provide a code execution environment that simplifies deployment and versioning. To provide a code execution environment that guarantees the safety of the code that is executing, including both code developed internally by an organisation or for code developed by 3rd party vendors. To provide a code execution environment that eliminates the issues faced by scripted environments with respect to performance. To provide a common programming model where the choice of a programming language becomes a matter of choice.
Dot Net Multilanguage Deployment “Hub and Spoke Model” Hub: The hub is the main assembly that contains the nonlocalizable executable code and the resources for a single culture, called the neutral or default culture. Spokes: Each spoke connects to a satellite assembly that contains the resources for a single culture, but does not contain any code. Resource naming convention: e.g. de-AT, en-IE
Dot Net Localisation Describes the country, region, and cultural conventions pertaining to the user. The locale tells you the user's language, how numbers, dates, and times should be formatted, how currency must be displayed, and what measurement system is used. Locale You can set your own locale at any time in Windows by opening the Regional and Language Options icon in the Control Panel (Regional Options in Windows 2000), and in the Regional Options tab (General tab in Windows 2000), select a locale from the first dropdown at the top of the dialog. On Windows XP and later, you'll see samples of what the formatted values will look like.
Dot Net Localisation Resource Fallback Process The hub and spoke model for packaging and deploying resources uses a fallback process to locate appropriate resources. If an application user requests a resource set that is unavailable, the common language runtime searches the hierarchy of cultures looking for an appropriate fallback resource that most closely matches the user's request, and raises an exception only as a last resort. At each level of the hierarchy, if an appropriate resource is found, the runtime uses it. If the resource is not found, the search continues at the next level. de de-CH de-AT de-DE de-LU Root.NET Application Resource Fallback Mechanism ja
Dot Net Localisation “Hub-spoke model” You can incrementally add resources for new cultures after you have deployed an application. Because subsequent development of culture- specific resources can require a significant amount of time, this allows you to release your main application first, and deliver culture-specific resources at a later date. You can update and change an application's satellite assemblies without recompiling the application. An application needs to load only those satellite assemblies that contain the resources needed for a particular culture. This can significantly reduce the use of system resources. Disadvantages You must manage multiple sets of resources. The initial cost of testing an application increases, because you must test several configurations. Note that in the long term it will be easier and less expensive to test one core application with several satellites, than to test and maintain several parallel international versions. Advantages
Building.NET Applications.resources.dll file Compilation Process 3.resx file 3. resource 2.resx file 2. resource 1.resx file 1. resource Resources are defined in XML documents RESX Files Resx Filenames significant Main1.resx Main1.fr.resx Satellite Assemblies Folders significant \fr\App.resources.dll
Win32 and.Net processes
Reduced complexity The number of files dispatched for translation is significantly reduced No need to support complex and large build environments No need for extra development and compiler licenses as they're simply not needed anymore. No compiling required. Since the binary is being edited directly, the need to recompile your translation disappears. Translators can translate in a visual environment without any danger of accidentally damaging critical code sections of your resource files. More efficient use of limited resources Increased team bandwidth enabling more languages to be handled in parallel, reducing lead-time on product releases thus reducing overall cost No compilation process required - the downtime between releases of builds to testing teams is reduced substantially. Faster debug-fix cycles, since translation bugs can be fixed immediately without recourse to re-compile and re-build. Product revisions can be updated quickly, automatically and in a predetermined and structured way. More Secure Method Sensitive source files such as CPP,.C,.H,.RC,.LIBs do not need to be dispatched to translation agencies The potential for damage to your source files due to the translation process is eradicated. This reduces your engineering and testing requirements. Reduced Lead-time and higher quality products to market By creating additional team bandwidth and capacity, more products can be localized simultaneously, less time can be spent on engineering and more time can be spent on structured testing. Source vs Binary Localisation?