Showing posts with label JavaScript. Show all posts
Showing posts with label JavaScript. Show all posts

Wednesday, October 3, 2012

#TypeScript: New Programming Language by Microsoft

Download TypeScript Application-scale release of cross-platform JavaScript language



Microsoft released a new open source, standards-based, general-purpose programming language that extends the capabilities of JavaScript. TypeScript has been unveiled by Soma Somasegar, corporate vice president of the developer division at Microsoft, and described as a means of writing cross-platform JavaScript to run in any browser on any device running standard JavaScript.

As an "application scale" offering, Microsoft says that the release of TypeScript comes in direct response to the challenge of creating larger-scale JavaScript applications.

NOTE: In search of a definition for what constitutes a "large-scale" JavaScript application, developer programs engineer at Google Addy Osmani writes, "In my view, large-scale JavaScript apps are non-trivial applications requiring significant developer effort to maintain, where most heavy lifting of data manipulation and display falls to the browser."

In terms of form and function, TypeScript uses the same JavaScript syntax and semantics. It compiles to clean, standard, broadly compatible JavaScript. TypeScript starts and ends as JavaScript, adding only what is needed for large-scale web client applications to the JavaScript standard, so developers will be able to reuse existing JavaScript.

Microsoft is also releasing a TypeScript for Visual Studio 2012 plugin that the firm hopes will improve developers' experiences with the tooling and further help address the challenge of building large-scale JavaScript applications. The TypeScript plugin provides developers with code navigation, refactoring, static error messages, and IntelliSense.


Somasegar says that JavaScript was originally designed to be a client-side scripting language for web pages: "For many years it was limited to event handlers that scripted a Document Object Model (DOM). As a result, JavaScript is missing many of the features necessary to be able to productively write and maintain large-scale applications, namely those that create distinct contracts between components and developers."

"TypeScript is a superset of JavaScript that combines type checking and static analysis, explicit interfaces, and best practices into a single language and compiler. By building on JavaScript, TypeScript keeps you close to the runtime you're targeting while adding only the syntactic sugar necessary to support large applications and large teams. Importantly, TypeScript enables great tooling experiences for JavaScript development, like those we've built for .NET and C++ and continue to innovate on with projects like "Roslyn". This is true whether you're writing client-side JavaScript to run on Windows, Internet Explorer, and other browsers and operating systems, or whether you're writing server-side JavaScript to run on Windows Azure and other servers and clouds," said Somasegar.

As stated, TypeScript is open source and the compiler is available under the Apache 2.0 license on CodePlex, Microsoft's free open source project-hosting site.

Tuesday, September 18, 2012

Digia finally acquires the Qt


Digia today announced that it has completed the acquisition of the Qt software technologies and Qt business it announced in August 2012. As Digia now becomes responsible for Qt activities including product development and commercial and open source licensing, the acquisition paves the way for Qt to become the world’s leading cross-platform application development framework across desktop, embedded and mobile platforms.



Used by over 450,000 developers worldwide, Qt is a full framework that enables the development of powerful, interactive and platform-independent applications. Qt is a proven and solid technology used across many different industries to provide extensive applications beyond what is possible with many other cross-platform technologies. Qt applications run native on the host system, delivering performance that is far superior to any other cross-platform application development framework. With Qt, developers can not only take full advantage of the multicore processors in desktops and high-end smartphones, but also deliver impressive graphical performance on low-end and low cost embedded hardware. Qt’s support for multiple platforms and operating systems allows developers to save significant time related to porting to other devices. Once developed on a Windows desktop PC, for example, an application’s code can be re-used on a smartphone, tablet computer or embedded device.



Qt comes with a built-in tool-chain, IDE and an extensive set of C++ frameworks. The Qt Quick technology allows for rapid and easy creation of dynamic and interactive user interfaces. Using Qt Quick’s declarative programming method, which couples QML and JavaScript with a powerful C++ engine, leads to optimally performing and visually stunning user interfaces. Qt's built-in features such as full support for HTML5 through the Qt WebKit module provide an easier and all-in-one solution for hybrid application development where pure web technologies fall short.

Qt already runs on leading desktop, embedded and real-time operating systems, as well as on a number of mobile platforms. Digia has initiated projects to deliver full support for Android and iOS mobile and tablet operating systems within Qt and will present the product roadmap and strategy later in the fall. Adding this support will extend one of the most popular and powerful development frameworks to cover the fastest growing and most popular smartphone and tablet operating systems.

Digia will continue the work with ecosystem members and the Qt community to secure a successful release of Qt5 and is committed to continuing the Qt Project in order to maintain Qt’s availability under both open source and commercial licences. Digia now has over 200 dedicated people working on Qt. The 89 Qt team members who have now joined Digia include many key players of the Qt community, of whom Lars Knoll, Chief Maintainer of the Qt Project, is one of the most experienced members of the Qt ecosystem.

Lars Knoll, Chief Maintainer of Qt Project, Digia commented: "I look forward to the exciting next chapter for Qt together with Digia. Qt 5 Beta was released during the acquisition process and we are working hard to reach a final release within the next months. Qt 5 is a huge step forward for Qt and, with technologies such as Qt Quick or the improved WebKit module, Qt is making many things trivial that are very hard to achieve with other technologies. Qt being developed as an open source project, with a vibrant and strong community behind it, greatly increases the strength of the technology. I am now very much looking forward to bringing the product to new platforms such as Android and iOS."

Tommi Laitinen, SVP, International Products, Digia, commented: "Qt has already proved to be exceptionally popular with developers because of its easy-to-use libraries and ability to generate efficient, high performance applications in minimal time. Our intention is to continue to work towards the goal set out by Trolltech, Qt’s originators, to develop a framework that enables users to ‘write code once and deploy everywhere’. Adding support for Android and iOS, together with the most widely used embedded operating systems, will give us the potential to target hundreds of millions of products and to help make Qt the dominant force in the software development world."

Thursday, August 23, 2012

Typing.io Lets You Practise Typing In Programming Environments


Programming languages are difficult to wrap your head around at first; you need to train your muscle memory to insert different characters after typing lines. Typing.io is a tool to help budding programmers practise and become more efficient at coding.



Typing.io is not meant as a tool to teach you programming. It’s meant solely as a way to practise typing in different open-source coding environments. This includes Javascript, Ruby on Rails, Perl, C, among others. When you load one of the lessons, you simply need to type over the text on the screen. When you make an error, the text will turn red. If you’re new to programming and need help practising your skills, Typing.io is a great place to start.

Friday, June 1, 2012

JavaScript founder dismisses Google Native Client

Brendan Eich
Questioning Google's Native Client development efforts, JavaScript founder Brendan Eich argued on Wednesday that JavaScript is sufficient for the needs Google is trying to fill.

Speaking at the O'Reilly Fluent Conference in San Francisco, Eich dismissed Google's technology and also promoted the upcoming upgrade to the official JavaScript specification, ECMAScript 6. With Native Client, Google is offering an open source technology to run portable native code securely in a browser.

But Eich doubted whether Native Client would get support from browser vendors Apple, Microsoft, or Mozilla, and he touted JavaScript as sufficient.

JavaScript is accessible and offers benefits like memory safety, said Eich, who is CTO at Mozilla. "Java can sandbox, too. We don't need Native Client," Eich said. He also cited the Low Level JavaScript project, which offers a C-like type system with manual memory management and memory safety, as negating the need for Native Client. Low Level JavaScript compiles to JavaScript.



ECMAScript 6, meanwhile, is intended to be better for applications, libraries, and code generators, according to Eich. "ECMAScript 6 is under way," and parts of it are already showing up in the Chrome browser and Mozilla's Spider Monkey JavaScript engine, he said. "We don't want to change the language too much. I'm sensitive to people who think we're going to change it into Java or something. We're not doing that."

Specific improvements eyed for version 6 include string interpolation, the use of default values instead of undefined values, indexing of objects via another object, and elimination of the arguments object. For libraries, better modularity as well as proxies, for meta-programming, are anticipated. Eich also touted code generator capabilities, saying, "I think we're finally ready for it." Developers of JavaScript, he said, also want to make it a better compiler target language.

Also under consideration for inclusion in JavaScript at some point is parallel JavaScript, for data and task parallelism; this is still a research project, Eich said, noting that JavaScript is now 17 years old. "The cool thing is people are using it in ways I couldn't foresee," he said.

A JavaScript developer in attendance lauded a planned "let" keyword due in the JavaScript standard. Let, said Steven Olson, software architect for the Church of Latter Day Saints, enables developers to declare a global variable that stays in a namespace and cannot be copied. "The benefit is you don't have the confusion between global and local namespace in your program."

Also at the conference, 4D announced Beta 2 of Wakanda, which is intended to be a turnkey JavaScript development platform featuring an IDE, client framework, NoSQL database, and server capabilities. A production release of Wakanda is due in June, with prices starting at $35 for a single developer using the vendor-supported commercial edition. A free, community edition also will be available. "[Wakanda] allows the developer to really create applications for the Web and mobile applications really fast," without having to deal with integrating different software development components, Michel Gerin, chief marketing officer at 4D. "It's all working together really nicely."

Thursday, May 31, 2012

New Wakanda Beta released by 4D


Unique Stack of Integrated Technologies Programmable With JavaScript Provides Simplified Development for Web and Mobile App Developers

O'Reilly Fluent Conference -- 4D, a leading provider of open source integrated application development solutions, today announced Wakanda Beta 2, the newest beta version of its popular Wakanda JavaScript development platform. With Wakanda, developers have a first-ever full stack JavaScript development platform for Web and mobile business applications. The new Wakanda foundation relies on best-of-breed technology -- Web and mobile applications, a development studio, client framework, NoSQL database, server and model-driven architecture. The company will offer both an Open Source community and commercial version of Wakanda. Web applications developed with Wakanda are easily deployed on the Cloud.

Developers can use Wakanda to program the entire application stack with JavaScript and its Model Driven Architecture (MDA) assures high levels of re-use and decreases in maintenance costs. Both the user interface (UI) and the data model of the application are designed with a powerful WYSIWYG designer from Wakanda Studio, and the Wakanda client framework and GUI designer leverage the full power of HTML5 and CSS3. The NoSQL object datastore natively speaks REST/HTTP and server-side JavaScript (SSJS). Unlike with SQL databases, there is no need to use an ORM layer. There is no hidden SQL generation. Wakanda natively understands the business logic.

Built on 25 years of business application experience and with the support of an active developer community, Wakanda's new development environment can be extended with third-party widgets, libraries and server modules. In addition, Wakanda's open source environment supports developers in adding connectors to their preferred databases. The entire Wakanda solution supports full industry standard compliance, including JSON, REST/HTTP, W3C, and CommonJS.

"With this newest version of Wakanda we are providing one open, complete solution for all Web and mobile business application development," said Laurent Ribardiere, Wakanda CTO and creator. "Developers no longer need to learn, integrate and maintain different technologies in different languages -- Wakanda delivers a cohesive JavaScript stack instead of disparate technologies. With Wakanda, developers can program their entire application with JavaScript from end-to-end."

Wakanda Offers Powerful JavaScript Programming Features In addition to providing end-to-end JavaScript programming, Wakanda leverages existing libraries and third party solutions on both client and server, and is cloud-ready. A complete list of individual features of Wakanda Studio, Wakanda Server and Wakanda Framework grouped by functional areas of the platform can be found at http://www.wakanda.org/features/ and includes touch for mobile development, pure multi-threaded JavaScript, NoSQL Object Datastore and many other new features.

In an IDC White Paper, Al Hilwa, Program Director, Application Development Software for IDC found, "Wakanda is a well-designed end-to-end application platform that comes complete with a graphical development environment catering to modern developer requirements... The application development approach supported by Wakanda abstracts much of the complexity in developing enterprise applications rapidly and productively." (IDC White Paper, sponsored by 4D, Inc., Wakanda: Blending Traditional Developer Productivity with Modern Web Architecture and Standards, October 2011)

Availability and Pricing Wakanda production release will be available in June in both community and commercial versions. The community version of Wakanda will be free. Monthly subscriptions for commercial licenses and developer support will start at $35 per month for one developer and will include a royalty-free unlimited deployment right.

Friday, May 25, 2012

Visual Studio 11 Express Is Metro Only




Microsoft has finally demonstrated its corporate insanity for all to see. The next version of VS Express 11 will only produce Metro and not desktop apps - and it gets worse.

The Express range of development systems has been the standard route into programming under Windows for a good few years. They are cheap, i.e. free, and they are lightweight solutions that ease beginners into the full Visual Studio. They also support a lot of Windows based open source and startup projects that simply couldn't afford the full Visual Studio - not to mention educational use.

The current Express products, i.e. Express 2010, has a version for each of the current languages VB, C# and C++ and even one for web development.  The next generation of Express products will be much more limited with just three editions - Express 11, Express for Windows Phone and Express for Azure. The Express 11 IDE will support C++, C#, VB and JavaScript in one neat and easy-to-use package. This sounds great until you realize that this neat package only supports the creation of Metro applications.

There are no templates and no targets defined for the desktop.
As Metro apps only run on Windows 8 or Windows RT you can immediately see that Express 11 is only of use if you have upgraded to Windows 8/RT and if you only want to create Metro apps.
Microsoft suggest that if you want to create a desktop app then you simply keep on using one of the Express 2010 editions.

You might think at first look that this is very reasonable. After all, it is Metro that is new and needs the new environment to allow programmers to create the new apps. However, the message that this sends is now clear despite the way that Microsoft's blogs do their best to discuss any other issues but the one's that really matter.
The fact that Express 11 will only target Metro apps is a clear statement that the desktop is legacy.

If you are planning your next project and don't want to buy the full Visual Studio to get started you have the choice of going Metro with the current generation of IDE or you can use 2010 - which isn't even last year's product.

The message is that the desktop has no future in the same way that the 2010 Express family has no future.

You can see how this fits into Microsoft's stragety to sweep the old aside and replace it with something new. It used similar techniques when introducing .NET. Instead of giving programmers a choice of using classic VB 6 they simply dropped VB 6 and forced the upgrade to the incompatible VB .NET.

Now it seems to be .NET's turn to be dropped.

If you want to develop a .NET app then you need to stick with Express 2010 and don't even think about going forward with new editions. To stay current you have no choice but to convert your apps to Metro.

The bigger picture is even more confused, but it demonstrates what a suicidal path Microsoft is on. Earlier this week the Kinect 1.5 SDK was launched with lots of .NET code and facilities including XNA and WPF 3D graphics. Before Metro the Microsoft development universe was split into .NET/managed code and C++/COM. Now it is split three ways and there is no accommodation between the three - you basically have to back the winner.

Microsoft is telling you that Metro is its only candidate for a winner. According to Microsoft, WinRT/Metro is the only possible future.

If you don't agree then you need to start looking for an alternative desktop environment.